管理画面の一覧画面の列を並び替える方法

あまり需要は無いかもしれませんが・・・

管理画面の投稿一覧の項目を追加したり削除したりすると、並び順も変更したくなることが稀にあります。

そんな時のために以下のようなコードを考えてみました。以下をfunctions.phpに貼り付けます。

function custom_posts_columns_sort($columns){
$sort_number = array(
'cb' => 0,
'title' => 1,
'author' => 2,
'categories' => 3,
'tags' => 4,
'comments' => 5,
'date' => 6
);
$sort = array();
foreach($columns as $key => $value){
$sort[] = $sort_number{$key};
}
array_multisort($sort,$columns);
return $columns;
}
add_filter( 'manage_posts_columns', 'custom_posts_columns_sort' );

カラムの順序は$sort_numberのarray内の数値で指定します。もしカラムを追加している場合には『’(カラム名)’ => (順序)』の形式でarrayに値を追加するだけです。

↓こんな感じ。

$sort_number = array(
'cb' => 0,
'title' => 1,
'author' => 2,
'categories' => 3,
'tags' => 4,
'comments' => 5,
'date' => 6,
'column1' => 7, // 追加したカラム
'column2' => 8 // 追加したカラム
);

ちなみに引数の$columnsの中身は以下のような状態です。

$columns['cb'] : チェックボックス
$columns['title'] : タイトル
$columns['author'] : 作成者
$columns['categories'] : カテゴリー
$columns['tags'] : タグ
$columns['comments'] : コメント
$columns['date'] : 日付

あまり需要はないとは思いますが、クライアントワークでは使えるかもしれませんね。(というか、最近使いました。)

スポンサードリンク

管理画面の一覧画面の列を並び替える方法」への1件のフィードバック

  1. ピンバック: 備忘録:管理者画面のカラムをソートする方法 | LISSUS

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です