web-dev-qa-db-ja.com

ダッシュボード管理で日付DESCでカスタム投稿タイプの投稿を注文するにはどうすればいいですか?

"Video"という名前の新しい投稿タイプを作成しました。

投稿タイプの投稿を作成すると、投稿はtitle ASCの順に並べられます。

日付による投稿の注文は可能ですかDESCください。

register_post_type('Videos', array(
    'labels' => array(
        'name' => _x('Videos', 'post type general name'),
        'singular_name' => _x('Video', 'post type singular name'),
        'add_new' => _x('Ajouter', 'Video'),
        'add_new_item' => __('Ajouter une video'),
        'edit_item' => __('Éditer une video'),
        'new_item' => __('Nouvelle video'),
        'view_item' => __('Voir le lien de la video'),
        //'search_items' => __(' Video'),
        'menu_name' => 'Video'
    ),
    'public' => true,
    'show_ui' => true,
    'capability_type' => 'post',
    'hierarchical' => true,
    'rewrite' => array('slug' => 'video'),
    'query_var' => true,
    'supports' => array(
        'title',
        'editor' => false,
        'excerpt' => false,
        'trackbacks' => false,
        'custom-fields',
        'comments' => false,
        'revisions' => false,
        'thumbnail' => false,
        'author' => false,
        'page-attributes' => false,
    ),
    'taxonomies' => array('post_tag')
   )
 );
5
Steffi

さて、あなただけのフィルタにフックすることができます pre_get_posts とチェック is_admin 。これをあなたのテーマやプラグインに入れてください。

function wpse_81939_post_types_admin_order( $wp_query ) {
  if (is_admin()) {

    // Get the post type from the query
    $post_type = $wp_query->query['post_type'];

    if ( $post_type == 'Videos') {

      $wp_query->set('orderby', 'date');

      $wp_query->set('order', 'DESC');
    }
  }
}
add_filter('pre_get_posts', 'wpse_81939_post_types_admin_order');

Post_typeの "Videos"も "video"のように小文字に変更します。

11

上記の例では、列をクリックして順序付け機能を無効にしています。

並べ替え可能&複数のカスタム投稿タイプの場合:

function wpse_819391_post_types_admin_order( $wp_query ) {
  if ( is_admin() && !isset( $_GET['orderby'] ) ) {     
    // Get the post type from the query
    $post_type = $wp_query->query['post_type'];
    if ( in_array( $post_type, array('videos','news','text') ) ) {
      $wp_query->set('orderby', 'date');
      $wp_query->set('order', 'DESC');
    }
  }
}
add_filter('pre_get_posts', 'wpse_819391_post_types_admin_order');
4
cenk