勉強したことのメモ

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

  関連記事

WordPressのContact Form 7プラグインでユーザーに対して自動返信メールを送信する方法
WordPressのContact Form 7プラグインでユーザーに対して自動返信メールを送信する方法

WordPressのContact Form 7プラグインで実装されたお問い合わ ...

WordPressで自作テーマにウィジェットを登録する方法
WordPressで自作テーマにウィジェットを登録する方法

WordPressで自作したテーマでウィジェットを登録しようとしたところダッシュ ...

WordPressの記事をfacebookに投稿する際のOGP設定について
WordPressの記事をfacebookに投稿する際のOGP設定について

WordPressの記事をfacebookに投稿する際にOGP設定をする必要があ ...

WordPressでスケジュール実行される日時を調べる方法
WordPressでスケジュール実行される日時を調べる方法

WordPressであるシステムを実装し、その際に毎日1回スケジュール実行(WP ...

WordPressと別プログラム間でSESSIONが引き継げない場合の対応方法
WordPressと別プログラム間でSESSIONが引き継げない場合の対応方法

同一サーバ内に自作したプログラムとWordPressを設置しており両者でセッショ ...