SNS

Post Types Order 使用時に WP_Query で投稿日順にソートする方法

投稿日:

WordPressのプラグイン、Post Types Order を使用している場合、例えばメインの表示ではカスタム順で並べつつ、それ以外の一覧では投稿日順にソートしたいといったケースが考えられます。

しかし、tax_query を使用している場合、意図した通りにソートされない問題が発生しました。そのため、解決策を忘備録として残しておきます。

以下のように設定します。

$query = new WP_Query([
    'post_type'      => 'custom_post',
    'posts_per_page' => 4,
    'orderby'        => 'date',
    'order'          => 'DESC',
    'ignore_custom_sort'  => true,
    'tax_query'      => [
        [
            'taxonomy'         => 'custom_taxonomy',
            'field'            => 'id',
            'terms'            => 3,
            'include_children' => true,
        ],
    ],
]);

ignore_custom_sort => true を指定することで、Post Types Order のカスタムソートを無視し、指定した orderby のルールに従ってソートされるようになります。

今回は 'orderby' => 'date', 'order' => 'DESC' なので、記事は投稿日が新しい順に表示されます。

この方法を使えば、用途に応じてカスタムソートと投稿日順を使い分けることが可能です。

参考:https://www.nsp-code.com/documentation/sample-usage/

CONTACT

サイト訪問ありがとうございます。
お仕事のご依頼、ご相談がありましたらお気軽にご連絡ください。
*は必須項目となります。

お名前 *
メールアドレス *
会社・組織名
お問い合わせ内容 *
0/300

当サイトはreCAPTCHAによって保護されており、Google のプライバシーポリシーおよび利用規約が適用されます。
当サイトのプライバシーポリシーをご一読の上ご連絡ください。