WordPress:管理画面の各設定画面内に項目を追加する方法

  • Posted on
  • Category : WordPress
WordPress:管理画面の各設定画面内に項目を追加する方法

備忘録。タイトル通り、WordPressの管理画面にある「一般」「投稿設定」「表示設定」といった各設定画面内に項目を追加する方法です。例えばデフォルトでタイトルやキャッチフレーズを入力できる項目が用意されており、それらをテンプレートタグで呼び出して表示みたいなことをよくすると思いますが、この方法で同じような項目を追加して上手く利用することでそれらと同じようなことも実装できます。

実装にはfunctions.phpに以下のように記述し、ここではサンプルとして「設定 > 一般」内に「テスト」という項目を追加していきます。

functions.php

function add_my_option_field() {
  add_settings_field( 'test_option', 'テスト', 'display_my_option', 'general' );
  register_setting( 'general', 'test_option' );
}
add_filter( 'admin_init', 'add_my_option_field' );

function display_my_option() {
  $test_option = get_option( 'test_option' );
  ?>
  <input name="test_option" id="test_option" type="text" value="<?php echo esc_html( $test_option ); ?>" class="regular-text" />
  <p class="description">フィールド入力のヒント出したい時とかはこんな感じで記述する</p>
  <?php
}

上記を記述後、「設定 > 一般」を確認すると「テスト」という項目と入力フィールドが表示されているのを確認できます。
このサンプルでは<input type="text">を表示させていますが、もちろん<textarea>を表示させることも可能ですし、その下にある「フィールド入力のヒント出したい時とかは~」のテキストのように任意のHTMLを追加したりも可能です。

入力された内容は使用したり表示させることも可能で、その際はget_option()を使用します。
例えば上で紹介したもので作成されたフィールドの場合は、内容を表示させたい箇所で以下のように記述すれば表示できます。

<?php echo get_option( 'test_option' ); ?>

今回は「一般」に項目を追加する方法を例にあげましたが、「投稿設定」や「ディスカッション」といったその他設定画面にも追加することができます。
他の設定画面で表示させたいときは上で紹介したコードで赤字表示している箇所を任意のものに変更し、それぞれ以下のように変更すれば各設定画面に表示させることが可能です。(「パーマリンク設定」の画面には追加することができません)

  • 投稿設定: writing
  • 表示設定: reading
  • ディスカッション: discussion
  • メディア: media

また、上記に加え「すべての設定」の画面にも追加可能で、その場合はoptionsと記述します。

このカスタマイズについては、以下で紹介されているものを参考にさせてもらいました。
参考サイトでは項目やフィールドだけでなくセクションも作成していたり、フックや関数といった説明なども非常に詳しくされているので非常に参考になります。

Back to Top

WordPress:管理画面の各設定画面内に項目を追加する方法

WordPress:管理画面の各設定画面内に項目を追加する方法

/ WordPress

Tagged with:

NxWorld

Sorry... doesn't support your browser

To get the best possible experience using our site we recommend that you upgrade to a modern web browser.NxWorldではご利用中のブラウザサポートはしていません。
Internet Explorerのアップグレード行う、もしくはその他のブラウザを使用しての閲覧をお願いします。