2022年04月12日
管理画面のカスタマイズの基本知識
ここではWordPressの管理画面の
を行う方法を解説します。
1.メニュ名称の変更
WordPressの管理画面は下記仕様で構成されています。
メニュ画像 | 表示名称 | ID番号 | プログラム名 |
ダッシュボード | 2 | index.php | |
投稿 | 5 | edit.php | |
メディア | 10 | upload.php | |
固定ページ | 20 | edit.php?post_type=page | |
コメント | 25 | edit-comments.php | |
外観 | 60 | themes.php | |
プラグイン | 65 | plugins.php | |
ユーザー | 70 | users.php | |
ツール | 75 | tools.php | |
設定 | 80 | options-general.php |
1.上表の表示名称を変更する関数の基本形
表示名称には[名称]、[一覧]、[新規]があります。
下記が[functions.php]に記述する基本形になります。
function ××() { global $menu,$submenu; $menu[ID番号][0] = 'メニュの名前'; $submenu['プログラム名'][5][0] = '一覧の名前'; $submenu['プログラム名'][10][0] = '新規追加の名前'; } add_action( 'admin_menu', '××' );
■2行目
グローバル変数の「$menu」と「$submenu」を必ず取り込みます。
■3行目:メニュの名前の変更
$menuの[ID番号][0]を指定し、変更するメニュの新しい名前を指定します。
・投稿の場合は[5][0]
・固定ページの場合は[20][0]
・メディアの場合は[10][0]
■4行目:一覧の名前の変更
$submenuの[プログラム名][5][0]を指定し、変更するメニュの新しい一覧名称を指定します。
・投稿一覧を変える場合は[edit.php][5][0]
・固定ページ一覧を変える場合は[edit.php?post_type=page][5][0]
■5行目:新規追加の名前の変更
$submenuの[プログラム名][10][0]を指定し、変更するメニュの新しい一覧名称を指定します。
・投稿の新規追加を変更する場合は[edit.php][10][0]
・固定ページの新規追加を変更する場合は[edit.php?post_type=page][10][0]
■7行目:アクションフックの「admin_menu」で書き込みます。
事例はActionフック:admin_menuを参照して下さい。
2.一覧画面の表示カラムのカスタマイズ
一覧画面には「投稿一覧」、「固定ページ一覧」、「カスタム投稿一覧」があり表示するカラムは下記で指定します。
■表示カラムの定義:フィルタ・フックで指定します。
■新設カラムへのデータ取り込み:アクション・フックで指定します。
1.表示カラムの定義
どの画面に | フィルタ・フック名 | 備考 |
投稿画面 | manage_posts_columns | |
カスタム投稿画面 | manage_edit-××_columns | ××はカスタム投稿名 |
固定ページ画面 | manage_pages_columns |
下記は投稿一覧画面にスラッグと更新日を追加したサンプルです。
[functions.php]に下記を記述します。
/* 投稿の表示項目とデザイン */ function posts_design($columns) { $columns = array( 'cb' => '<input type="checkbox" />', 'title' => 'タイトル', 'slug' => 'スラッグ', //新設に追加したカラム 'categories' => 'カテゴリ', 'tags' => 'タグ', 'date' => '日時', 'modified' => '最終修正日', //新設に追加したカラム 'author' => '作成者', 'comments' => '<div class="comment-grey-bubble" title="コメント"></div>',); echo '<style> .fixed .column-title {width:30%;} .fixed .column-slug {width:20%;}//新設に追加したカラム .fixed .column-categories {width:13%;} .fixed .column-tags {width:13%;} .fixed .column-date {width:10%;} .fixed .column-modified {width:10%;}//新設に追加したカラム .fixed .column-comments {width:4%;} </style>'; return $columns; } add_filter('manage_posts_columns', 'posts_design',10,1);
新設カラム以外は規定値。表示順番は上から下。
2.新設カラムへのデータ取り込み
どの画面に | アクションフック名 | 備考 |
投稿画面 | manage_posts_custom_column | カスタム投稿もこれを使う |
固定ページ画面 | manage_pages_custom_column |
下記は投稿一覧画面の新設カラムにデータを取り込む事例です。
[functions.php]に下記を記述します。
/* 新設フィードへのデータの読み込み */ function posts_data_add($column_name, $post_id) { if($column_name == 'slug') { $post = get_post($post_id); $slug = $post->post_name; echo esc_attr($slug);} else if($column_name == 'modified'){ echo the_modified_date('Y年m月d日');} } add_action( 'manage_posts_custom_column', 'posts_data_add', 10, 2 );
3.具体的な記述サンプル
詳細は下記ドキュメントを参照してください。