【プラグイン不要】WP ダッシュボードの投稿・固定一覧にスラッグのカラムを追加する方法

※phpファイルを編集する際は、必ずバックアップを取ってから作業を開始して下さい。

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

【プラグイン不要】WP ダッシュボードの投稿・固定一覧にスラッグのカラムを追加する方法

まずは実装後の実際の画面をどうぞ。

【プラグイン不要】WP ダッシュボードの投稿・固定一覧にスラッグのカラムを追加する方法
投稿一覧ページ

目次

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

投稿一覧の中にスラッグのカラムを追加するためのコードです。
そのまま 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);

以上、記事一覧に「スラッグ」が表示されていれば完成です。