Menu
テーマ切り替え

ワードプレスの全記事を一覧表示

wordpress

ワードプレスに投稿された全記事を一覧で表示するやり方です。

固定ページを作成

全記事一覧を表示させる固定ページを作成しましょう。 category.phpやpage.phpをコピーし、『スラッグ名(以下、○○と表記)-page.php』とリネームしてください。 このようにすれば、該当するページを表示する際に、page.phpではなく、○○-page.phpを読み込んでくれます。

固定ページにテンプレートを指定するやり方でもOK [blogcard url=“/tutorial/post-658/”]

○○-page.phpの編集

作成した○○-page.phpを編集します。 記事一覧を表示させます。

<?php
$args = array(
'post_type' => 'post',
'posts_per_page' => 10,
);
$my_query = new WP_Query($args);

if( $my_query -> have_posts() ) :
while($my_query -> have_posts()) : $my_query -> the_post();
?>
<!--ループの内容-->
<?php endwhile;else: ?>
<p>表示する記事がありません</p>
<?php endif; ?>
 <?php wp_reset_postdata(); ?>

上記だと、投稿された記事を10件表示させるだけです。 固定ページはひとつのページとしての役割があるため、このままではページネーションを機能させることはできません。

固定ページでページネーションを機能させる

先ほどの例にget_query_var(‘paged’)を追加してページ番号を取得しましょう。 これで、ページネーションを機能させられます。

<?php
$paged = get_query_var('paged') ? get_query_var('paged') : 1 ;
$args = array(
'post_type' => 'post',
'posts_per_page' => 10,
'paged' => $paged
);
$my_query = new WP_Query($args);

if( $my_query -> have_posts() ) :
while($my_query -> have_posts()) : $my_query -> the_post();
?>
<!--ループの内容-->
<?php endwhile;else: ?>
<p>表示する記事がありません</p>
<?php endif; ?>
 <?php wp_reset_postdata(); ?>

WP-PageNaviを使用している場合 以下のように書き換えてください。

<?php
    if(function_exists('wp_pagenavi')) {
        wp_pagenavi(array('query' => $my_query));
    }
?>

おまけ

投稿以外にカスタム投稿がある場合はpost_typeをこのように書き換えてください。

‘post_type’ => array(‘post’,‘カスタム投稿のスラッグ名1’,‘カスタム投稿のスラッグ名2’),

参考にどうぞ!

カスタム投稿の追加方法 [blogcard url=“/tutorial/post-540/”] カスタム投稿タイプの新着記事を表示 [blogcard url=“/tutorial/post-552/”]

RU DESIGN
AUTHOR

RU DESIGN

個人開発者として、Webサイト制作やAIを活かした開発に取り組んでいます。このブログでは、私が実際に試して「これは使える!」と思った技術や、自作の便利ツールをシェアしています。一緒に技術を楽しんでいきましょう!

この記事をシェア:

関連記事