WordPress ダッシュボードの投稿一覧・固定一覧にスラッグのカラムを表示追加し、ソートもできるようにする方法

WordPress のダッシュボード内、投稿一覧と固定一覧ページに「スラッグ」を追加して、更にソートできるようにする方法です。

WordPress ダッシュボードの投稿一覧・固定一覧にスラッグのカラムを表示追加し、ソートもできるようにする方法

サイト運営の中であまり必要とされる場面はないようにも思いますが、別サイトを運営していく中で必要になり実装してみました。
まずは実装後の実際の画面から。

WordPress ダッシュボードの投稿一覧・固定一覧にスラッグのカラムを表示追加し、ソートもできるようにする方法
投稿一覧ページ

投稿一覧にスラッグのカラムを追加するコード

投稿一覧の中にスラッグのカラムを追加するためのコードです。
そのまま functions.php に追加して下さい。

function add_posts_columns_slug($columns) {
    $columns['slug'] = 'スラッグ';
    return $columns;
}
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_edit-post_sortable_columns', 'add_posts_columns_slug' );
add_filter( 'manage_posts_columns', 'add_posts_columns_slug' );
add_action( 'manage_posts_custom_column', 'add_posts_columns_slug_row', 10, 2 );

固定一覧にスラッグのカラムを追加するコード

固定一覧一覧の中にスラッグのカラムを追加するためのコードです。
そのまま functions.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_edit-page_sortable_columns', 'add_page_columns_name' );
add_filter( 'manage_pages_columns', 'add_page_columns_name');
add_action( 'manage_pages_custom_column', 'add_page_column', 10, 2);

万が一のとき慌てることのないよう、必ずバックアップをとってから作業を行って下さい。