2022年02月01日
管理画面の固定ページのカスタマイズ事例
WordPressのデフォルトの固定ページには下記の様な問題点があります。
■スラッグ名が表示されない
■更新日が表示されない
そこで管理画面の固定ページ画面のカスタマイズ事例を解説します。
尚、全体像は下記ドキュメントを参照して下さい。
1.固定ページのメニュ名称の変更
デフォルトでは「固定ページ」、「固定ページ一覧」、「新規追加」という名前が使われている。
これを「ページ」、「ページ一覧」、「新規ページ追加」に変更するには、アクションフック:admin_menuを利用します。
functions.phpに下記を追加します。
/* 固定ページの名称変更 */ function page_name() { global $menu,$submenu; $menu[20][0] = 'ページ';//固定ページを変更 $submenu['edit.php?post_type=page'][5][0] = 'ページ一覧'; // 固定ページ一覧を変更 $submenu['edit.php?post_type=page'][10][0] = '新規ページ追加';//新規追加を変更 } add_action( 'admin_menu', 'page_name' );
■4行目:固定ページ名称の変更
$menu[20][0] = 'ページ';
上記で[固定ページ]が[ページ]に変更されます。
■5行目:一覧名称の変更
$submenu['edit.php?post_type=page'][n][0] = 'ページ一覧';
上記で[固定ページ一覧]が[ページ一覧]に変更されます。
■6行目:新規名称の変更
$submenu['edit.php?post_type=page'][10][0] = '新規ページ追加';
上記で[新規追加]が[新規ページ追加]に変更されます。
2.固定ページ一覧画面のデザイン変更
固定ページ一覧の
・デザインを変更:[フィルターフック:manage_pages_columns]
・新設カラムにデータを読み込む:[アクション・フック:manage_pages_custom_column]
を利用します。
functions.phpに下記を追加します。
/* 固定ページの表示項目とデザイン */ function page_design($columns) { $columns = array( 'cb' => '<input type="checkbox" />', 'title' => 'タイトル', 'slug' => 'スラッグ', //新規に追加 'date' => '日時', 'modified' => '最終修正日', //新設に追加 'author' => '作成者', 'comments' => '<div class="comment-grey-bubble" title="コメント"></div>',); echo '<style> .fixed .column-title {width: 30%;} .fixed .column-slug {width: 30%;} .fixed .column-date {width: 15%;} .fixed .column-modified {width: 15%;} .fixed .column-comments {width: 10%;} </style>'; return $columns; } add_filter('manage_pages_columns', 'page_design',10,1); /* 新設フィードへのデータの読み込み */ function page_data_add($column_name, $post_id){ $post = get_post($post_id); if($column_name == 'slug') { $slug = $post->post_name; echo esc_html($slug);} else if($column_name == 'modified'){ echo the_modified_date();} } add_action( 'manage_pages_custom_column', 'page_data_add', 10, 2);
■21行目
add_filter('manage_pages_columns', '関数名',10,1);
始めの10は優先順位、次の1は関数のパラメータの数を指定している。
■32行目
add_action( 'manage_pages_custom_column', '関数名',10,2);
始めの10は優先順位、次の2は関数のパラメータの数を指定している。