今回はトップページ(index)にウェブサイト内に存在するすべての投稿を一括で表示する方法をご紹介します。
いろんなところで紹介されている方法を試したのですが、どうにもこうにもうまくいかず…。
前回同様、解決できずにエンジニアさんに助けていただきました。
投稿日順だけでなく更新日順に表示する方法もご紹介しているので
合わせて試してみてください!
まずはindexに表示する内容。
<?php
// 組込でない投稿タイプを取得
$post_types = get_post_types(array('public' => true, '_builtin' => false));
// 標準投稿も追加
array_push($post_types, 'post');
// サブクエリの設定と取得
$args = array(
'post_type' => $post_types,
'post_status' => 'publish',
'posts_per_page' => -1,
'orderby' => 'modified',
'order' => 'DESC',
);
$the_query = new WP_Query($args);
?>
<?php if ($the_query->have_posts()) : ?>
<?php while ($the_query->have_posts()) : $the_query->the_post(); ?>
<?php
$post_type = get_post_type();
$label = get_post_type_object($post_type)->label;
?>
ここにループの内容を書きます。
<?php endwhile; ?>
<?php endif; ?>
通常投稿を含まない場合は、下記の「’_builtin’ => false」をtrueにすればカスタム投稿タイプだけに
なります!
$post_types = get_post_types(array('public' => true, '_builtin' => false));
下記は投稿日順ではなく、更新日順の記述です。
投稿日順の場合はこの項目を削除して「 ‘order’ => ‘DESC’,」のみでOK!
'orderby' => 'modified',
以上!みなさんも試してみください!