1. TOP
  2. 技術メモ
  3. ワードプレスの管理画面にオリジナルメニューとテキストフィールドを作成する

ワードプレスの管理画面にオリジナルメニューとテキストフィールドを作成する

ワードプレスの管理画面にオリジナルメニューとテキストフィールドを作成する

ワードプレスの管理画面にオリジナルメニューを追加する方法になります。また、メニュー内にテキストフィールドとテキストエリアを作成し、保存、出力までの流れをご紹介します。

 

カスタム管理ページ用のプラグインファイルを作成

WordPressのテーマフォルダ内にある functions.php ファイルに、以下のコードを追加します。これにより、新しい管理ページが追加されます。

functions.php

add_action('admin_menu', 'my_custom_menu');

function my_custom_menu() {
  add_menu_page(
    'テーマ設定', // ページのタイトル
    'テーマ設定', // メニューのタイトル
    'manage_options', // 権限
    'custom-menu-slug', // スラッグ
    'my_custom_menu_page', // コールバック関数
    'dashicons-admin-generic', // アイコン
    '6', // メニューの位置
  );
}
function my_custom_menu_page() {
  ?>
  <div class="wrap">
    <h1>ここにカスタムメニューの内容を記入</h1>
    <form method="post" action="options.php">
      <?php
      settings_fields('my_custom_settings_group');
      do_settings_sections('my_custom_settings_group');
      ?>
      <table class="form-table">
        <tr valign="top">
          <th scope="row">サンプルオプション</th>
          <td><input type="text" name="my_sample_text_option" value="<?php echo esc_attr( get_option('my_text_option') ); ?>" /></td>
        </tr>
        <tr valign="top">
          <th scope="row">テキストエリア</th>
          <td><textarea name="my_sample_textarea_option" rows="10" cols="50"><?php echo esc_textarea( get_option('my_textarea_option') ); ?></textarea></td>
        </tr>
      </table>
      <?php submit_button(); ?>
    </form>
  </div>
  <?php
}

入力した内容を登録

次に、入力した内容を登録するためのコードを functions.php に追加します。

functions.php

add_action('admin_init', 'my_custom_settings');

function my_custom_settings() {
  register_setting('my_custom_settings_group', 'my_text_option');
  register_setting('my_custom_settings_group', 'my_textarea_option');
}

テキストフィールドとテキストエリアのショートコードを作成

functions.php ファイルに以下のコードを追加します。

テキストフィールド

function display_sample_text_content_shortcode() {
  $sample_text_content = get_option('my_text_option');
  return '<div class="my-text-output">' . esc_html($sample_text_content) . '</div>';
}
add_shortcode('display_sample_text_content', 'display_sample_text_content_shortcode');

テキストエリア

function display_sample_textarea_content_shortcode() {
  $sample_textarea_content = get_option('my_textarea_option');
  return '<div class="my-textarea-output">' . $sample_textarea_content . '</div>';
}
add_shortcode('display_sample_textarea_content', 'display_sample_textarea_content_shortcode');

ショートコードを使用

任意のページや投稿に以下のショートコードを追加して、それぞれの内容を表示させます。

//テキストフィールド
[display_sample_text_content]
//テキストエリア
[display_sample_textarea_content]

テーマに追加して表示したい場合はこちら

//テキストフィールド
<?php echo do_shortcode('[display_sample_text_content]'); ?>
//テキストエリア
<?php echo do_shortcode('[display_sample_textarea_content]'); ?>

 

これで、テキストフィールドとテキストエリアの内容をショートコードで表示させることができます。

作成したテキストエリアなどでHTMLを許可したい場合はこちら

PR

ニッチなテーマのイラスト素材を投稿中!ぜひご利用ください。

ナマケモノなど可愛いイラストをイラストACで無料配布中!

オリジナル絵本をKindleで出版!

ナマケモノのふにゃまるちゃんを読む

困ったときは格安で依頼!RU DESIGNも出品中

格安レンタルサーバーでサイト運営を始めよう

ドメイン取得は一括管理が便利!

応援・支援よろしくお願いします!サイト運営に活用させていただきます。

Braveクリエイターサポート
ホームページ制作ならRU DESIGN

関連記事

【WordPress初心者さん必見!】「これ、どうすればいいの?」検索しても意外と見つからない疑問を解決!
2025/04/19
WordPressでのサイト運営、始めてみましたか?✨ 最初は設定や記事の書き方など、覚えることがたくさんで大変ですよね!基本的な操作は色々なサイトで解説されて...
WordPressで「Missing a temporary folder」エラーを解決!ファイルがアップロードできない時の簡単な対処法
2025/04/19
WordPressで画像やプラグインをアップロードしようとしたら、「Missing a temporary folder」というエラーが出て、うまくアップロード...
WPFormsで「JavaScriptの問題を検出しました」メッセージが表示された時の原因と対処法
2025/04/19
WordPressサイトで人気の高いお問い合わせフォームプラグインの一つであるWPFormsを利用していると、サイトの管理画面や、実際にフォームが表示されている...
WordPressサイトの処理が止まる?「Maximum execution time exceeded」エラーの原因と対策
2025/04/18
WordPressサイトを運営していると、時々「Fatal error: Maximum execution time of XX seconds exceed...
WordPressで遭遇しやすい「原因が分かりにくい」エラーと解決策
2025/04/18
WordPressでウェブサイトを運用していると、予期しないエラーメッセージに遭遇することがあります。有名なエラー(例えば、白い画面だけが表示される「真っ白画面...