WordPress: 管理画面でカスタム投稿の一覧にカスタムフィールドの値を表示させて、その値順に並べ替える方法
//カスタム投稿にカスタムフィールドの項目を追加
function add_column_name ( $columns ) {
$columns['item_id'] = "アイテムID";
unset($columns['date']);
return $columns;
}
add_filter( 'manage_items_columns', 'add_column_name' );
//カスタムフィールドitem_idの項目に値を表示
function add_column_value ($column_name, $post_ID) {
if( $column_name == 'item_id' ) {
echo get_post_meta($post_ID, 'item_id', true);
}
}
add_filter( 'manage_posts_custom_column', 'add_column_value', 10, 2 );
//カスタム投稿itemsの一覧を、カスタムフィールドitem_idの値順に並べ替え
function set_post_types_admin_order( $wp_query ) {
if (is_admin()) {
$post_type = $wp_query->query['post_type'];
if ( $post_type == 'items' ) {
$wp_query->set('meta_key', 'item_id');
$wp_query->set('orderby', 'meta_value');
$wp_query->set('order', 'ASC');
}
}
}
add_filter( 'pre_get_posts', 'set_post_types_admin_order' );
参考サイト:
https://accelboon.com/tn/wordpress%E7%AE%A1%E7%90%86%E7%94%BB%E9%9D%A2%E3%81%AE%E4%B8%80%E8%A6%A7%E3%81%A7%E3%82%AB%E3%83%A9%E3%83%A0%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%95%E3%81%9B%E3%81%9F%E3%81%84/