勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

WordPressダッシュボードに投稿・固定ページ・カテゴリ・タグ一覧ページにIDを表示させてソート可能にする方法

  WordPress CMS

WordPressダッシュボードの投稿(記事)・固定ページ・カテゴリー・タグ一覧ページにIDを表示させたい。また、IDの昇順・降順でソート可能としたい。以前にカテゴリーとタグは対応したことがあったが投稿(記事)・固定ページに関しては未対応だったため、いずれもまとめて実装方法をメモ。

 

対応方法

投稿(記事)

//一覧ページにカラムを追加
function add_posts_id_columns( $columns ){
    $columns['id'] = 'ID';
    return $columns;
}
add_filter('manage_posts_columns', 'add_posts_id_columns');

//IDを表示
function add_posts_id_display( $column_name, $post_id ){
    if( $column_name == 'id' ){
        echo $post_id;
    }
}
add_action('manage_posts_custom_column', 'add_posts_id_display', 10, 3);

//IDでのソート機能を追加
function add_posts_id_sort( $columns ){
    $columns['id'] = 'ID';
    return $columns;
}
add_filter('manage_edit-post_sortable_columns', 'add_posts_id_sort');

固定ページ

//一覧ページにカラムを追加
function add_page_id_columns( $columns ){
    $columns['id'] = 'ID';
    return $columns;
}
add_filter('manage_edit-page_columns', 'add_page_id_columns');

//IDを表示
function add_page_id_display( $column_name, $post_id ){
    if( $column_name == 'id' ){
        echo $post_id;
    }
}
add_action('manage_pages_custom_column', 'add_page_id_display', 10, 3);

//IDでのソート機能を追加
function add_page_id_sort( $columns ){
    $columns['id'] = 'ID';
    return $columns;
}
add_filter('manage_edit-page_sortable_columns', 'add_page_id_sort');

カテゴリー

//一覧ページにカラムを追加
function add_category_id_columns( $columns ){
    $columns['id'] = 'ID';
    return $columns;
}
add_filter('manage_edit-category_columns', 'add_category_id_columns');

//IDを表示
function add_category_id_display( $value, $column_name, $id ){
    if( $column_name == 'id' ){
        echo $id;
    }
}
add_action('manage_category_custom_column', 'add_category_id_display', 10, 3);

//IDでのソート機能を追加
function add_category_id_sort( $columns ){
    $columns['id'] = 'ID';
    return $columns;
}
add_filter( 'manage_edit-category_sortable_columns', 'add_category_id_sort');

タグ

//一覧ページにカラムを追加
function add_tag_id_columns( $columns ){
    $columns['id'] = 'ID';
    return $columns;
}
add_filter('manage_edit-post_tag_columns', 'add_tag_id_columns');

//IDを表示
function add_tag_id_display( $value, $column_name, $id ){
    if( $column_name == 'id' ){
        echo $id;
    }
}
add_action('manage_post_tag_custom_column', 'add_tag_id_display', 10, 3);

//IDでのソート機能を追加
function add_tag_id_sort( $columns ){
    $columns['id'] = 'ID';
    return $columns;
}
add_filter('manage_edit-post_tag_sortable_columns', 'add_tag_id_sort');

注意点等

必要に応じて上記の各ソースコードをfunctions.phpに記述しアップロードする。

尚、今回はデフォルトの投稿(記事)・固定ページ・カテゴリー・タグを使用する前提だが、カスタム投稿タイプやカスタムタクソノミーに対して実装したいような場合は以下リファレンスを参考に適宜変更する必要があり。

 

リファレンス

manage_posts_columns

https://developer.wordpress.org/reference/hooks/manage_posts_columns/

manage_posts_custom_column

https://developer.wordpress.org/reference/hooks/manage_posts_custom_column/

manage_pages_columns

https://developer.wordpress.org/reference/hooks/manage_pages_columns/

manage_pages_custom_column

https://developer.wordpress.org/reference/hooks/manage_pages_custom_column/

manage_{$this->screen->taxonomy}_custom_column

https://developer.wordpress.org/reference/hooks/manage_this-screen-taxonomy_custom_column/

manage_{$this->screen->id}_sortable_columns

https://developer.wordpress.org/reference/hooks/manage_this-screen-id_sortable_columns/

 - WordPress CMS

  関連記事

XML-RPCライブラリを利用してWordPressを外部サーバから投稿する方法
XML-RPCライブラリを利用してWordPressを外部サーバから投稿する方法

WordPressをダッシュボードからではなく、外部サーバのプログラムから投稿し ...

WordPressで翌日以降に編集した記事のみ最終更新日を表示する方法
WordPressで翌日以降に編集した記事のみ最終更新日を表示する方法

WordPressで翌日以降に編集した記事のみ最終更新日を表示させたい。逆に言う ...

WordPressのサーバー移行で気付いた点
WordPressのサーバー移行で気付いた点

あるWordPressを置いているサーバーのリソースが苦しくなってきたので、新た ...

WordPressテーマファイル内のfunctions.phpの初期設定についてメモ
WordPressテーマファイル内のfunctions.phpの初期設定についてメモ

WordPressのテーマファイル作成時にfunctions.phpを書くが、い ...

WordPressで記事毎に設定したバナー広告を表示させる方法
WordPressで記事毎に設定したバナー広告を表示させる方法

WordPressでGoogleアドセンスのようなクリック広告ではなく、商品を指 ...