【WordPress】管理画面の固定ページ一覧にスラッグやIDを表示する方法

固定ページ毎にサイドメニューを変更するという要望のために各固定ページにスラッグをつけていたところ、管理画面上の固定ページ一覧にスラッグの表示がないことに気づきました。

何かと不便なので、一覧に表示しようと思います。

方法は簡単で、下のコードを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_pages_columns', 'add_page_columns_name');
add_action( 'manage_pages_custom_column', 'add_page_column', 10, 2);

これで管理画面の一覧に「スラッグ」欄が追加されます。

2015-12-27_21h47_31

functions.phpをいじる際は必ずバックアップを取ってから行うことをお勧めします。

バグります。

さらに以下を追加するとページIDも表示できます。

add_filter('manage_posts_columns', 'posts_columns_id', 5);
    add_action('manage_posts_custom_column', 'posts_custom_id_columns', 5, 2);
    add_filter('manage_pages_columns', 'posts_columns_id', 5);
    add_action('manage_pages_custom_column', 'posts_custom_id_columns', 5, 2);
function posts_columns_id($defaults){
    $defaults['wps_post_id'] = __('ID');
    return $defaults;
}
function posts_custom_id_columns($column_name, $id){
	if($column_name === 'wps_post_id'){
        	echo $id;
    }
}

« »