WordPressの管理画面の投稿一覧の項目に、スラッグを表示したかったのでメモ。
コピペ化なコード
以下のコードを、functions.phpに追記します。
add_filter( 'manage_posts_columns', 'add_posts_columns_slug' );
function add_posts_columns_slug($columns) {
$columns['slug'] = 'スラッグ';
return $columns;
}
add_action( 'manage_posts_custom_column', 'add_posts_columns_slug_row', 10, 2 );
function add_posts_columns_slug_row($column_name, $post_id) {
if( 'slug' == $column_name ) {
$slug = get_post($post_id) -> post_name;
echo $slug;
}
}
無事、スラッグが表示されました。
解説
まず、項目を追加する記述をします。
add_filter( 'manage_posts_columns', 'add_posts_columns_slug' );
function add_posts_columns_slug($columns) {
$columns['slug'] = 'スラッグ';
return $columns;
}
「スラッグ」の部分が実際に表記される言葉になりますので、自分の好きな名前を設定してください。
項目が追加できたので、次は各記事の中身を取り出して表示する記述です。
add_action( 'manage_posts_custom_column', 'add_posts_columns_slug_row', 10, 2 );
function add_posts_columns_slug_row($column_name, $post_id) {
if( 'slug' == $column_name ) {
$slug = get_post($post_id) -> post_name;
echo $slug;
}
}