勉強したことのメモ

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でテーマファイル内で共通の変数を設定及び使用する方法
WordPressでテーマファイル内で共通の変数を設定及び使用する方法

WordPressでテーマ内の共通変数を設定し使用したかった。例えば記事一覧ペー ...

WordPressでユーザー毎にフラグを持たせ分岐処理を行う方法
WordPressでユーザー毎にフラグを持たせ分岐処理を行う方法

WordPressでユーザー毎に何らかのフラグを持たせて、フラグによって分岐処理 ...

WordPressにてPHPのAPCuを使用して高速化を図る方法
WordPressにてPHPのAPCuを使用して高速化を図る方法

先日本サイトのサーバにAPCuを導入した。しかしながら所感にも書いたとおりAPC ...

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

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

Advanced Custom Fieldsでチェックボックスの記事を取得
Advanced Custom Fieldsでチェックボックスの記事を取得

Advanced Custom Fieldsでチェックボックス設定しているカスタ ...