// 固定ページ
add_filter( 'manage_pages_columns', 'add_posts_columns' );
add_action( 'manage_pages_custom_column', 'custom_posts_column', 10, 2 );
// カスタム投稿(「news」というカスタム投稿の場合)
add_filter( 'manage_news_posts_columns', 'add_posts_columns' );
add_action( 'manage_news_posts_custom_column', 'custom_posts_column', 10, 2 );
「cf_example」という名前のカスタムフィールドの値を「投稿」の一覧画面で表示
function add_posts_columns( $columns ) {
$columns['example'] = 'サンプル';
return $columns;
}
function custom_posts_column( $column_name, $post_id ) {
if ( $column_name == 'example' ) {
$cf_example = get_post_meta( $post_id, 'cf_example', true );
echo ( $cf_example ) ? $cf_example : '-';
}
}
add_filter( 'manage_posts_columns', 'add_posts_columns' );
add_action( 'manage_posts_custom_column', 'custom_posts_column', 10, 2 );
表示内容を追加する
//カラムを追加する
function my_columns($columns) {
$columns['customfield'] = "カスタムフィールド";
return $columns;
}
//カラムの表示内容を定義
//追加したカラムに「metaname」というカスタムフィールドの内容を表示させる
function add_column($column_name, $post_id) {
if( $column_name == 'customfield' ) {
$stitle = get_post_meta($post_id, 'metaname', true);
}
if ( isset($stitle) && $stitle ) {
echo attribute_escape($stitle);
} else {
echo __('None');
}
}
add_filter( 'manage_posts_columns', 'my_columns' );
add_action( 'manage_posts_custom_column', 'add_column', 10, 2 );
表示内容を削除する
function delete_column($columns) {
unset($columns['title'],$columns['author'],$columns['categories']);
//....のように消したいキーをunset
return $columns;
}
add_filter( 'manage_posts_columns', 'delete_column');
表示順を変更する
// 項目の表示順を変える 固定ページの場合は、manage_pages_columns
add_filter( 'manage_posts_columns', 'sort_posts_columns' );
function sort_posts_columns( $columns ) {
$columns = array(
'cb' => '<input type="checkbox" />',
'thumbnail' => 'サムネイル',
'title' => 'タイトル',
'author' => '作成者',
'categories' => 'カテゴリー',
'tags' => 'タグ',
'comments' => '<div class="comment-grey-bubble" title="コメント"></div>',
'date' => '日時'
);
return $columns;
}