kio0888 score 13
2019/06/29 00:37 投稿
WP_Queryを使うと、指定の箇所からページが表示されなくなる |
初歩的なミスであった場合本当に申し訳ございません。 |
質問させていただきます。 |
wordpressにて自分のブログテーマを作っているのですが |
トップページにカテゴリのボタンを4つ配置し、クリックしたらその場でカテゴリ別の新着記事に切り替わるようにしたいです。 |
メインの記事一覧は、通常のループを使用し |
カテゴリ別の新着記事はWP_Queryを使用して、サブループを作り表示させようとしたのですが |
このようにコードを書くと、サブループ以降が表示されなくなります |
ページネイション、サイドバー、フッターなどが消えてしまうのです。(Chromeのディベロッパーツールで調べると、どうやらサブループ部分のコードの出力はされているようです) |
前にも同じようなバグが生じて、その時はWP_Queryではなくquery_postsを使うと解決することができたのですが、非推奨なために極力避けたいし、WP_Queryは頻出だと思うので、使えない状態のままでいるのではダメだと思い投稿させていただきました。 |
なぜこのようなことになってしまうのでしょうか?ご教授いただけると幸いです。 |
※サイドバーにて、query_postsを使用し人気記事一覧を自作して表示しています。関係ないとは思いますが、併用が原因などの可能性はあるでしょうか? |
```<?php get_header(); ?> |
<main> |
<div id="os-nav"> |
<div class="container"> |
<div class="front-head" style=" |
background-image: url(<?php echo get_template_directory_uri(); ?>/img/renga.png); |
background-size: cover;"> |
<i class="fas fa-thumbtack"></i> |
<h2>極真-Gokushin-とは?!</h2> |
</div> |
<?php |
wp_nav_menu(array( |
'container' => 'nav', |
'container_id' => 'osusume_nav', |
'theme_location' => 'place_osusume', |
)); |
?> |
</div> |
</div> |
<div class="container"> |
<article> |
<div class="front-head" style=" |
background-image: url(<?php echo get_template_directory_uri(); ?>/img/renga.png); |
background-size: cover; |
"> |
<h2>N E W - A R T I C L E</h2> |
</div> |
<ul class="kirikae-arc"> |
<li class="web on">- NEW -</li> |
<li class="des off">- WEB -</li> |
<li class="min off">- DESIGN -</li> |
<li class="mus off">- Minimal -</li> |
</ul> |
<div class="kiji-section"> |
<?php |
if(have_posts()): |
while(have_posts()): |
the_post(); |
get_template_part('content-top'); |
endwhile; |
endif; |
?> |
</div> |
<div class="kiji-section top-loop2"> |
<?php $args = array( |
'category_name' => 'web', |
'posts_per_page' => 10, |
'no_found_rows' => false |
); |
$the_query = new WP_Query($args); |
if($the_query->have_posts()): |
while($the_query->have_posts()): |
$the_query->the_post(); |
get_template_part('content-top'); |
endwhile; |
endif; |
wp_reset_postdate(); |
?> |
</div> |
<div class="kiji-section top-loop3"> |
</div> |
<div class="kiji-section top-loop4"> |
</div> |
<div class="pagination"> |
<?php echo paginate_links( array( |
'type' => 'list', |
'mid_size' => '3', |
'prev_text' => '«', |
'next_text' => '»' |
) ); ?> |
</div> |
</article> |
<?php get_sidebar(); ?> |
<div class="cb"></div> |
</main> |
</div> |
<?php get_template_part('back-top'); ?> |
<?php get_footer(); ?> |
コード |
``` |
``` |
※6/28追記 |
wp-config.phpにてデバックモードをonにするとこのようなエラーが発生してました。 |
Fatal error: Uncaught Error: Call to undefined function wp_reset_postdate() in /Applications/MAMP/htdocs/kyukyoku/wordpress/wp-content/themes/kyukyoku/front-page.php:57 Stack trace: #0 /Applications/MAMP/htdocs/kyukyoku/wordpress/wp-includes/template-loader.php(78): include() #1 /Applications/MAMP/htdocs/kyukyoku/wordpress/wp-blog-header.php(19): require_once('/Applications/M...') #2 /Applications/MAMP/htdocs/kyukyoku/wordpress/index.php(17): require('/Applications/M...') #3 {main} thrown in /Applications/MAMP/htdocs/kyukyoku/wordpress/wp-content/themes/kyukyoku/front-page.php on line 57 |
Warning: preg_replace(): JIT compilation failed: no more memory in /Applications/MAMP/htdocs/kyukyoku/wordpress/wp-includes/functions.php on line 1909 |
どうやら記事データの出力は成功しているみたいで、 |
wp_reset_postdate()でリセットしている箇所で何かしらのエラーが起きているとのことです。 |
しかし、スペルに違いなどはなく、WP_Queryを使う時にこの手法でリセットすることはお決まりであると思うので、何がおかしいのかさらに話からなっくなってしまいました。 |
引き続き自己解決を試みますが、心当たりある方はヒントを下さると幸いです。 |