WEBTODESIGN

WordPressの管理画面の投稿一覧にスラッグの項目を表示させる

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;
    }
}

ソース

WordPressの開発者リソースの「manage_posts_columns」のページ