【WordPress】管理画面でカスタム投稿タイプの並び順を日付順にする方法

【WordPress】管理画面でカスタム投稿タイプの並び順を日付順にする方法

制作・開発

プラグインを使わず、register_post_typeを使って自分でカスタム投稿タイプを追加した際、管理画面のカスタム投稿の一覧がタイトル順に並ぶことがあります。

投稿や固定ページのように、カスタム投稿タイプの一覧も日付順にするカスタマイズ方法について紹介します。

管理画面のカスタム投稿一覧を日付順で表示する

管理画面上でカスタム投稿一覧の並び順を変更するために pre_get_posts アクションを使います。

add_filter( 
  'pre_get_posts',
  function( $query ) {
    if ( is_admin() ) {
      // 「custom_post_type」は適宜カスタム投稿タイプスラッグに変更してください.
      if ( isset($query->query['post_type']) && 'custom_post_type' === $query->query['post_type'] ) {
        $query->set( 'orderby', 'date' );
        $query->set( 'order', 'DESC' );
      }
    }
  }
);

上記コードを functions.php等に追加します。

$query->set( 'orderby', 'date' );'date'部分を変えれば日付以外の並び順にも変更できます。