今回のカスタマイズは「投稿一覧」についてです
項目にカスタムフィールドを割り当てたり、必要無い項目を削除したり
並び順を変更したりします。(function.phpに記述)
その他、Admin CSSを使って項目の幅を変更します
◆投稿一覧に「カスタムフィールド」や「投稿ID」を追加する
//カラムを追加する
function my_columns($columns) {
$columns['customfield'] = "投稿一覧に表示される項目名";
$columns['postid'] = 'ID';
return $columns;
}
//カラムの表示内容を定義
//追加したカラムに「01metaname」というカスタムフィールドの内容を表示させる
function add_column($column_name, $post_id) {
if( $column_name == 'customfield' ) {
$stitle = get_post_meta($post_id, '01metaname', true);
}
//投稿IDはこちら
if( $column_name == 'postid' ) {
$stitle = $post_id;
}
//↓データーが無い場合は「なし」を表示する
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 );
例を掲載しておきます
※「販売価格」「備考」「投稿ID」を一覧に表示させる
//投稿一覧にカスタムフィールドの販売価格・備考と投稿IDを追加 -----------------------------
function manage_posts_columns($columns) {
$columns['price'] = "販売価格";
$columns['memo'] = "備考";
$columns['postid'] = 'ID';
return $columns;
}
function add_column($column_name, $post_id) {
if( $column_name == 'price' ) {
$stitle = get_post_meta($post_id, '04販売価格', true);
}
if( $column_name == 'memo' ) {
$stitle = get_post_meta($post_id, '備考', true);
}
if( $column_name == 'postid' ) {
$stitle = $post_id;
}
if ( isset($stitle) && $stitle ) {
echo attribute_escape($stitle);
} else {
echo __('None');
}
}
add_filter( 'manage_posts_columns', 'manage_posts_columns' );
add_action( 'manage_posts_custom_column', 'add_column', 10, 2 );
◆投稿一覧から項目を削除
デフォルト
["cb"]=> string(25) "<input type="checkbox" />" ["title"]=> string(12) "タイトル" ["author"]=> string(9) "作成者" ["categories"]=> string(15) "カテゴリー" ["tags"]=> string(6) "タグ" ["comments"]=> string(86) "<span class="vers"><div title="コメント" class="comment-grey-bubble"></div></span>" ["date"]=> string(6) "日時"
削除方法
function delete_column($columns) {
unset($columns['title'],$columns['author'],$columns['categories']);
//削除する項目をunset
return $columns;
}
add_filter( 'manage_posts_columns', 'delete_column');
表示順を変更する
function sort_column($columns){
$columns = array(
'date' => '日時',
'author' => '作成者',
'cb' => '<input type="checkbox" />',
'title' => 'タイトル',
);
return $columns;
}
add_filter( 'manage_posts_columns', 'sort_column');
表示項目の幅を変更
Admin CSSに記述する例 「カテゴリー」はデフォルトでwidth:15%;が指定されています
それを25%にします
.fixed .column-categories {
width: 25%;
}