web-dev-qa-db-ja.com

管理者リストページでカスタム投稿タイプの列の順序を変更する

カスタム投稿タイプ(下のスクリーンショット)を作成しました。列の順序を変更したいと思います。 "日付"列の前に "タグ"列を移動することは可能ですか?

スクリーンショット:

Screen shot

6
farjam

はい、これは可能です。これをデフォルトの投稿タイプ用に変更しましたが、これはカスタム投稿タイプ用にも可能です。

まずコーデックを確認してください。

http://codex.wordpress.org/Plugin_API/Action_Reference/manage_posts_custom_column

function your_columns_head($defaults) {  

    $new = array();
    $tags = $defaults['tags'];  // save the tags column
    unset($defaults['tags']);   // remove it from the columns list

    foreach($defaults as $key=>$value) {
        if($key=='date') {  // when we find the date column
           $new['tags'] = $tags;  // put the tags column before it
        }    
        $new[$key]=$value;
    }  

    return $new;  
} 
add_filter('manage_posts_columns', 'your_columns_head');  

このように$ defaults配列を変更することができます。

11
Asped

はい管理パネルに表示されるリストの順序を変更できます。まず最初にデフォルトの配列の設定を解除してから選択した配列を例で見せてください。次の画像はカスタム投稿タイプのデフォルトフィールドを示しています。 enter image description here 

それでは、このリストから余分なフィールドを削除する方法を説明しましょう。リストからtitleおよびtagsフィールドを削除し、カスタム投稿タイプフィールドを追加し、リストフィールドの順序を並べ替えるとします。

     function add_ourteam_columns ( $columns ) {
    unset($columns['title']);
    unset($columns['tags']);
    unset($columns['date']);
   return array_merge ( $columns, array ( 
     'name' => __ ('name'),
     'designation' => __ ( 'Designation' ),
     'image'   => __ ( 'Image' ),
     'date' => __('Date')
   ) );

 }

add_filter ( 'manage_our-team_posts_columns', 'add_ourteam_columns' );

enter image description here 

フィールドを削除したい場合はunset(field_name)を使用します。リストの順序を変更したい場合は最初にそのフィールドの設定を解除してから新しい配列を作成し、他のフィールドの前後に追加します。この例があなたのお役に立てばと思います。

1
Dani