※以下の変更の必要はない。Admin Columnというプラグインを使用すれば簡単。
https://www.nxworld.net/wordpress/wp-plugin-codepress-admin-columns.html
スラッグを固定ページ一覧に表示
これができないと大変不便と思うのだが、なぜもともとこの機能が無いのだろうか?
検索するとすぐ見つかるが、以下のコードを使用中のテーマのfunctions.phpの最後に追加する。 twentytwelveを使用している場合は、wp-content/themes/twentytwelve/function.php なぜテーマの方に追加するのかは謎。
function add_page_columns_name($columns) { $columns['slug'] = "スラッグ"; return $columns; } function add_page_column($column_name, $post_id) { if( $column_name == 'slug' ) { $post = get_post($post_id); $slug = $post->post_name; echo attribute_escape($slug); } } add_filter( 'manage_pages_columns', 'add_page_columns_name'); add_action( 'manage_pages_custom_column', 'add_page_column', 10, 2);
スラッグ表示位置を変える
右端だと見にくいため、タイトルの右側にする。参考は以下。
カテゴリ、コメントは不要なので削除。
function add_page_columns_name($cols) { // cb, title, author, categories, tags, comments, date $author = $cols['author']; $categories = $cols['categories']; $tags = $cols['tags']; $comments = $cols['comments']; $date = $cols['date']; unset($cols['author']); unset($cols['categories']); unset($cols['tags']); unset($cols['comments']); unset($cols['date']); $cols['slug'] = "スラッグ"; $cols['author'] = $author; //$cols['categories'] = $categories; $cols['tags'] = $tags; //$cols['comments'] = $comments; $cols['date'] = $date; return $cols; } function add_page_column($column_name, $post_id) { if( $column_name == 'slug' ) { $post = get_post($post_id); $slug = $post->post_name; echo attribute_escape($slug); } } add_filter( 'manage_pages_columns', 'add_page_columns_name'); add_action( 'manage_pages_custom_column', 'add_page_column', 10, 2);
さらにページ順を加え、列幅を変更する
固定ページ一覧でのページの表示順を指定するため「順序」フィールドを利用することにする。ドラッグドロップで簡単にできるプラグインもあるが、操作を間違えると面倒なので、1ページ1ページ順序値を入れることにする。 固定ページ一覧にて、この順序値を表示する。さらに列幅を調整する。参考は以下。
function add_page_columns_name($cols) { // cb, title, author, categories, tags, comments, date $cb = $cols['cb']; $title = $cols['title']; $author = $cols['author']; $categories = $cols['categories']; $tags = $cols['tags']; $comments = $cols['comments']; $date = $cols['date']; unset($cols['cb']); unset($cols['title']); unset($cols['author']); unset($cols['categories']); unset($cols['tags']); unset($cols['comments']); unset($cols['date']); $cols['order'] = "順"; $cols['cb'] = $cb; $cols['title'] = $title; $cols['slug'] = "スラッグ"; $cols['author'] = $author; //$cols['categories'] = $categories; $cols['tags'] = $tags; //$cols['comments'] = $comments; $cols['date'] = $date; return $cols; } function add_page_column($column_name, $post_id) { if($column_name == 'slug') { $post = get_post($post_id); $slug = $post->post_name; echo attribute_escape($slug); } else if ($column_name == 'order') { $post = get_post($post_id); $order = $post->menu_order; echo attribute_escape($order); } } function my_admin_column_width() { echo '<style type="text/css"> .column-order { text-align:right; width: 30px !important; overflow:hidden } .chcek-column { text-align:center; width: 100px !important; overflow:hidden } .column-title { text-align:left; width: 300px !important; overflow:hidden } .column-slug { text-align:left; width: 100px !important; overflow:hidden } .column-author { text-align:left; width: 100px !important; overflow:hidden } .column-tags { text-align:left; width: 100px !important; overflow:hidden } .column-date { text-align:left; width: 100px !important; overflow:hidden } </style>'; } add_filter( 'manage_pages_columns', 'add_page_columns_name'); add_action( 'manage_pages_custom_column', 'add_page_column', 10, 2); add_action('admin_head', 'my_admin_column_width');