テーマ設定ページのオプションは、テーマがサポートする機能とカスタマイズによって異なります。とはいえ、すべてのテーマ設定ページに含まれる一般的なものがいくつかあります。一般的なオプションには、ソーシャルURL、静的またはレスポンシブレイアウト、ヘッダーロゴがいくつかあります。このチュートリアルでは、これらの4つのオプションをテーマ設定ページに含める方法を紹介します。
テーマ設定の作成ページメニュー項目まず、管理パネルにメニュー項目を作成して、テーマ設定ページにアクセスする必要があります。
ここで、テーマパネルはメニュー項目を表す一意のIDです。 theme_settings_pageは、メニューAPIによって作成されたページのコンテンツを表示するためのコールバックです。次にこの関数をコーディングします。
設定api
の概要
設定APIは、メニュー項目APIによって作成されたページを入力するために使用されます。設定ページは、セクションとフィールドに分割されます このチュートリアルのために、単一のセクションを作成するだけで、そのセクション内にすべてのフィールドを配置します。ここにTheme_settings_Page関数のコードがあり、セクションを作成して送信ボタンを追加します。
<span>function theme_settings_page(){} </span> <span>function add_theme_menu_item() </span><span>{ </span> <span>add_menu_page("Theme Panel", "Theme Panel", "manage_options", "theme-panel", "theme_settings_page", null, 99); </span><span>} </span> <span>add_action("admin_menu", "add_theme_menu_item");</span>
それがどのように見えるかは次のとおりです。
ソーシャルプロファイルURLSの追加
管理パネルが初期化された後、セクションとフィールド表示コールバックを登録します。ここでは、3つの重要な機能を使用しています
add_settings_sectionは、セクションの見出しと説明を表示するために使用されます。
add_settings_fieldは、フィールドのHTMLコードを表示するために使用されます。function theme_settings_page() { ?> <span><span><span><div</span> class<span>="wrap"</span>></span> </span> <span><span><span><h1</span>></span>Theme Panel<span><span></h1</span>></span> </span> <span><span><span><form</span> method<span>="post"</span> action<span>="options.php"</span>></span> </span> <span><span><?php </span></span><span> <span>settings_fields("section"); </span></span><span> <span>do_settings_sections("theme-options"); </span></span><span> <span>submit_button(); </span></span><span> <span>?></span> </span> <span><span><span></form</span>></span> </span> <span><span><span></div</span>></span> </span> <span><span><?php </span></span><span><span>}</span></span>
これが私たちの設定ページのように見えるべきものです。
add_settings_fieldを使用して新しい設定フィールドを追加し、通常どおりRegister_settingsを使用して登録しました。注意すべきことの1つは、ユーザーがチェックボックスをチェックしたかどうかを見分けたい場合は、checked()関数を使用しています。
checked()関数は、値を別の値と比較します。等しい場合は、チェック属性をエコーします。
register_setting関数はコールバックである3番目の引数を取ります。このコールバックは、設定をデータベースに保存する前に起動されます。このコールバックを利用して、アップロードを処理できます。
ここに、設定ページにロゴをアップロードするコードがあります。
function display_twitter_element() { ?> <span><span><span><input</span> type<span>="text"</span> name<span>="twitter_url"</span> id<span>="twitter_url"</span> value<span>="<span><?php echo get_option('twitter_url'); ?></span>"</span> /></span> </span> <span><span><?php </span></span><span><span>} </span></span><span> </span><span><span>function display_facebook_element() </span></span><span><span>{ </span></span><span> <span>?></span> </span> <span><span><span><input</span> type<span>="text"</span> name<span>="facebook_url"</span> id<span>="facebook_url"</span> value<span>="<span><?php echo get_option('facebook_url'); ?></span>"</span> /></span> </span> <span><span><?php </span></span><span><span>} </span></span><span> </span><span><span>function display_theme_panel_fields() </span></span><span><span>{ </span></span><span> <span>add_settings_section("section", "All Settings", null, "theme-options"); </span></span><span> </span><span> <span>add_settings_field("twitter_url", "Twitter Profile Url", "display_twitter_element", "theme-options", "section"); </span></span><span> <span>add_settings_field("facebook_url", "Facebook Profile Url", "display_facebook_element", "theme-options", "section"); </span></span><span> </span><span> <span>register_setting("section", "twitter_url"); </span></span><span> <span>register_setting("section", "facebook_url"); </span></span><span><span>} </span></span><span> </span><span><span>add_action("admin_init", "display_theme_panel_fields");</span></span>
ここでは、wp_handle_uploadを使用して画像ファイルを保存し、そのURLを取得してオプションとして保存しています。
これが私たちの設定ページの見た目です、それはきれいに形作られています!
テーマは、フロントエンドの設定値を取得する必要があります。設定APIは、オプションAPIを使用して値を内部的に保存します。したがって、get_option()関数を使用して値を取得できます。
非常に簡単です、ここにコードがあります。
<span>function theme_settings_page(){} </span> <span>function add_theme_menu_item() </span><span>{ </span> <span>add_menu_page("Theme Panel", "Theme Panel", "manage_options", "theme-panel", "theme_settings_page", null, 99); </span><span>} </span> <span>add_action("admin_menu", "add_theme_menu_item");</span>
WordPressテーマ設定の作成ページの作成に関するよくある質問(FAQ)
設定を検証およびサニタイズするにはどうすればよいですか?
[設定]ページに設定を表示するには、[settings_fields()およびdo_settings_sections()機能をフォームに使用できます。 settings_fields()関数は、設定ページのnonce、action、およびoptionページフィールドを出力し、do_settings_sections()関数はページに追加されたセクションとフィールドを出力します。 ?
設定ページで問題をトラブルシューティングするにはどうすればよいですか? WordPressによって。たとえば、WP_DEBUG定数を使用してデバッグモードを有効にし、PHPエラー、通知、および警告を表示できます。 Var_dump()関数を使用して、変数の値を出力し、処理されているデータを確認することもできます。
以上が設定APIを使用してWPテーマ設定ページを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。