WordPressの投稿一覧で表示されている項目の並び順を任意の並びに変更する方法です。
例えば、デフォルトだと日時の項目が一番右にあるのを先頭に移動させたいときなどに使えます。
デフォルトの投稿一覧では左から「チェックボックス → タイトル → 作成者 → カテゴリー → タグ → コメント → 日時」という並び順で各項目が表示されていますが、それを任意の並び順に変更する方法です。
実装にはfunctions.php
へ下記のように記述します。
add_filter( 'manage_posts_columns', 'sort_posts_columns' );
function sort_posts_columns( $columns ) {
$columns = array(
'cb' => '<input type="checkbox" />',
'title' => 'タイトル',
'author' => '作成者',
'categories' => 'カテゴリー',
'tags' => 'タグ',
'comments' => '<div class="comment-grey-bubble" title="コメント"></div>',
'date' => '日時'
);
return $columns;
}
上記のような形で記述をすれば各項目を任意の並び順に変更することができ、上から下へ記述したものが表示される時は左から右の並びで表示されます。
これを踏まえて、例えば並び順を「チェックボックス → タイトル → 日時 → カテゴリー → タグ → コメント → 作成者」のようにしたいときは下記のように記述します。
add_filter( 'manage_posts_columns', 'sort_posts_columns' );
function sort_posts_columns( $columns ) {
$columns = array(
'cb' => '<input type="checkbox" />',
'title' => 'タイトル',
'date' => '日時',
'categories' => 'カテゴリー',
'tags' => 'タグ',
'comments' => '<div class="comment-grey-bubble" title="コメント"></div>',
'author' => '作成者'
);
return $columns;
}
また、項目の並び順はデフォルトのものだけでなく後から追加したものも変更することがもちろんできます。
例えば「WordPress:投稿一覧にサムネイル・ID・スラッグ・文字数の項目を追加する方法」などを使用してサムネイルを表示している場合、サムネイルをチェックボックスの次に持っていきたいときは下記のように記述をします。
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;
}
ここで紹介したものはいずれも「投稿」の投稿一覧をカスタマイズするものになりますが、固定ページやカスタム投稿の一覧でも同じような記述で並び順を変更することが可能で、その場合はmanage_posts_columns
の部分を変更します。
例えば、固定ページの場合はmanage_posts_columns
の箇所をmanage_pages_columns
に変更すれば、固定ページでもこの並び順が反映されるようになります。