念のため確認ですがアーカイブは2ページ以上あるのですよね。(例えば1ページに5つ表示する設定で、投稿が5つ以下ならページ番号は1しか出ません。)
WP_SiteManager_page_naviのタグを入れた先が適切ではないのかもしれません。お使いのテーマと、archive.phpのどの部分へタグを入れたか、教えていただけますか。
gblsmさま
こんばんは。
いつもありがとうございます!
>念のため確認ですがアーカイブは2ページ以上あるのですよね。(例えば1ページに5つ表示す>る設定で、投稿が5つ以下ならページ番号は1しか出ません。)
こちらは、記事数に問題ございません。
>WP_SiteManager_page_naviのタグを入れた先が適切ではないのかもしれません。お使いのテ>ーマと、archive.phpのどの部分へタグを入れたか、教えていただけますか。
おそれいります。
テーマは、オリジナルでございます。
<?php get_header(); ?>
<div id="primary" class="content-area mgn_t2rem">
<main id="main" class="site-main" role="main">
<div id="business" class="block_bmgn">
<div class="row">
<div class="wrap">
<?php
$args = array(
'posts_per_page' => 4, // 表示するページ数
'order' => 'DESC',
); ?>
<?php $mypost = new WP_Query( $args ); ?><!-- クエリの指定 -->
<?php while ( $mypost->have_posts() ) : $mypost->the_post(); ?>
<div class="col-md-6 matchHeight">
<figure class="circle_block circle_img">
<?php
if (has_post_thumbnail()) {
the_post_thumbnail('thumbnail');
}else {
echo '<img src="' . get_template_directory_uri() . '/images/crcle5_noimage.png' . '" alt="no image" />';
}
?>
<p class="circle_date flt_box"><?php the_time('Y.m.d'); ?></p>
<p class="center_ico"><span class="<?php $cat = get_the_category(); $cat = $cat[0]; {echo "$cat->category_nicename";} ?>"><?php echo $cat->cat_name; ?></span></p>
</p>
<h3 class="circle_ttl"><?php the_title(); ?></h3>
<p class="circle_andmore"><span class="circle_andmore_inner">続きを読む</span></p>
<a href="<?php the_permalink(); ?>">
<figcaption class="circle_large">
<p>read more</p>
<p><i class="material-icons">local_library</i></p>
</figcaption>
</a>
</figure>
</div>
<?php endwhile; ?>
<?php if ( class_exists( 'WP_SiteManager_page_navi' ) ) { WP_SiteManager_page_navi::page_navi(); } ?>
<?php wp_reset_postdata(); ?><!-- 忘れずにリセットする必要がある -->
</div>
</div>
</div>
該当ソースはこんな感じでございます。
ご教授いただければ幸いです。
何卒よろしくお願いいたします。
原因は WP_SiteManager_page_navi が、テーマ側で独自に用意したクエリ(mitsu666 さんが new WP_Query で用意したクエリオブジェクト)に対応しない仕様だからです。
ふつうのループなら大丈夫です。ご存知と思いますがふつうのループは WordPress コア側でクエリオブジェクト(global $wp_query)を用意してくれています。この場合に posts_per_page や order を独自に指定するには pre_get_posts フィルターを利用できますので調べてみてください。
参考: [Wordpress]pre_get_postsを使いこなす!pre_get_posts使い方まとめ | EMiAC-Works
どうしてもテーマ側で独自にクエリを用意する場合は、new WP_Query の代わりに query_posts() を使えば WP_SiteManager_page_navi でページナビを出せます。
gblsmさま
いつもお世話になっております。
返信が遅くなり申し訳ありません。
原因は WP_SiteManager_page_navi が、テーマ側で独自に用意したクエリ(mitsu666 さんが new WP_Query で用意したクエリオブジェクト)に対応しない仕様だからです。
なんと!!
サブループですとだめなのですね。
基礎的なところがグラグラしておりまして。。
すみません、勉強になります!
ふつうのループなら大丈夫です。ご存知と思いますがふつうのループは WordPress コア側でクエリオブジェクト(global $wp_query)を用意してくれています。この場合にposts_per_page や order を独自に指定するには pre_get_posts フィルターを利用できますので調べてみてください。
おお。
ちょうど最近、おなじような記事を拝見しておりました。
いつも、メインループでこまごまと条件をつけるやり方が
モヤモヤしてわからず、横着をしてwp-Queryをつかってループさせていたりしておりました。
そして、ご教授いただきましたページを参考に、
任意のページのメインループを
functions.php
へ記述し、あらためて試したところ、
ページャーが出ました!!
ありがとうございます!
とても勉強になり、たすかりました。
いつも親切に教えていただいてほんとうにありがたいです。
がんばります!