WordPressの管理画面には標準で「投稿」「設定」などのメニュー項目がありますが、独自のメニュー項目を追加することが可能です。
例えば、コードを直接いじらなくても管理画面上からコンテンツ編集・デザイン編集が直感的にできたりマニュアル項目を追加したりできるので、知識がない人でもサイトの更新が簡単にできるようになります。
この記事では、独自メニュー項目追加と出力方法の基礎的な方法を書いていきます。
実装方法
functions.phpでメニュー項目追加
/* メニューの項目追加 */ add_action('admin_menu', 'extension_menu'); function extension_menu() { add_menu_page('独自メニュー項目', '独自メニュー項目', 0, 'original_menu', 'create_original_menu', '', 3); } function create_original_menu() { require TEMPLATEPATH.'/original_menu.php'; }
- add_action関数
- 特定のアクションにフックするための関数。今回はadmin_menu関数にフックして使用する。
add_action(‘関数名’, ‘メソッド名’);
- add_menu_page
-
管理画面のサイドバーにメニュー項目を追加する関数。
function メソッド名() {
add_menu_page(‘タイトル’, ‘項目名’, 権限, ‘スラッグ名’, ‘メニュー項目へのコールバック関数’, ‘項目のアイコンファイルのURL’, 項目位置);
}
メニュー項目のページを作成
テーマ直下のディレクトリに、メニュー項目で表示用のページファイル(original_menu.php)を作成し、以下のコードを記載します。
<?php add_option('sample-txt'); if ($_REQUEST['sample-txt']) update_option('sample-txt', $_REQUEST['sample-txt']); ?> <form method="post" action="admin.php?page=original_menu"> <table class="form-table"> <tr> <th><label for="sample-txt">サンプルテキスト</label></label></th> <td><input name="sample-txt" type="text" value="<?php echo get_option('sample-txt'); ?>" style="width:100%;"> </td> </tr> </table> <p class="submit"> <input type="submit" name="submit" id="submit" class="button-primary" value="変更を保存"> </p> </form>
出力する
get_option関数で設定データを取得して出力して使用します。
<?php echo get_option('sample-txt'); ?>
まとめ
このように独自メニュー項目を作成すれば、設定したデータを取得して使いまわすことができます。
今回はシンプルにテキストを登録し出力するだけの方法ですが、応用することで様々な機能を実装することが可能なのでぜひ試してみてください。
※応用編に関しては、実装する機会があれば随時記事にしてきます。