このブログは WordPress で運営しててパーマリンクを「年 / 月 / 投稿スラッグ」に途中からしたのだけれど、以前の記事は日本語の投稿スラッグのままなので URL エンコードされて長ったらしかった。 2 月に長ったらしいままだった約 1500 の記事に、英語で投稿スラッグを新たにつけるという地味な作業をした。そのときに管理画面の投稿編集の記事一覧に投稿スラッグが表示されないのが不便だったので、表示させるようにいじったのメモ。
「 WordPress パーマリンクを途中から変更できるプラグイン Advanced Permalinks 」に書いたとおり、途中からパーマリンクを変更できるプラグインを入れて、現在は以前の記事は以前のパーマリンクでアクセスできるようになっている。これを 「年 / 月 / 投稿スラッグ」に統一させようというのが最終目的だ。
管理画面の投稿編集の記事一覧に投稿スラッグが表示させる方法は下記のコードを functions.php に書けば OK 。
//記事一覧にスラッグを表示する
function add_post_columns_name($columns) {
$columns['slug'] = "スラッグ";
return $columns;
}
function add_post_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_posts_columns', 'add_post_columns_name');
add_action( 'manage_posts_custom_column', 'add_post_column', 10, 2);
これだけだと、投稿編集の記事一覧のレイアウトがおかしくなるので、表示オプションからいらない項目のチェックを 1 つ以上外す。このブログはわたししか記事を書かないので「作成者」のチェックを外した。
この表示オプションから表示件数も変更できるので、投稿スラッグをつけ直している時だけ 50 件の表示にした。あまり表示件数が多いとシステムの負担になるので注意が必要。
*参考記事
→ FindxFine :投稿一覧画面の表示項目をカスタマイズ : WordPress