SEO調整の際、投稿一覧にスラッグを表示させたくなったので functions.php をカスタマイズして表示させたので、その方法を紹介します。
上記の画像のように、日本語がURLエンコードされてやたら長くなる、スラッグの入力し忘れも一目瞭然になります。
functions.php
//投稿、固定ページ一覧にスラッグ表示 function add_columns_slug($columns) { $columns['slug'] = "スラッグ"; echo '<style>.fixed .column-slug {width: 10%;}</style>'; return $columns; } function add_column_row_slug($column_name, $post_id) { if($column_name == 'slug') { $post = get_post($post_id); $slug = $post->post_name; echo esc_attr($slug); } } add_filter( 'manage_pages_columns', 'add_columns_slug'); add_action( 'manage_pages_custom_column', 'add_column_row_slug', 10, 2); add_filter( 'manage_posts_columns', 'add_columns_slug' ); add_action( 'manage_posts_custom_column', 'add_column_row_slug', 10, 2 );
2つの関数を作り、2つ(pagesとpostsで違いますが、やることは同じ)のアクションフックへ適用しています。
add_columns_slug()
は一覧ページで記事のスラッグを呼び出し、add_column_row_slug()
は一覧ページへ呼び出したスラッグを表示しています。
CSSを指定している理由は、拡張されたカラムはデフォルトでは幅を25%も設定されており、そんなに幅はいらないので10%に上書きしています。