###質問したいこと
お世話になってます。
WordPressの記事数取得について教えて下さい。
ループの外で取得するケースについてです。
###サブループでの取得の場合
まずサブループの場合はこちらでできました。
<?php if ( $the_query->have_posts() ) echo $the_query->post_count; ?>
たとえばカスタム投稿タイプhoge
で上を使う場合、出力ソースコードは次のようになります。
php
1<?php $args = array('post_type','hoge'); ?> 2<?php $the_query = new WP_Query( $args );?> 3<div class="count<?php if ( $the_query->have_posts() ) echo $the_query->post_count; ?>"> 4<?php if ( $the_query->have_posts() ) : ?> 5 <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?> 6 <h2><?php the_title(); ?></h2> 7 <?php endwhile; ?> 8 <?php wp_reset_postdata(); ?> 9<?php endif; ?> 10</div>
###メインループでの取得の場合
で質問ですが、メインループの場合はどうなるでしょうか?
条件を上と同じようにhoge
にするためにfunctions.phpに以下を書いたとして、
php
1function myPreGetPosts( $query ) { 2 if ( $query->is_home() ) { 3 $query->set('post_type', 'hoge'); 4 } 5} 6add_action('pre_get_posts','myPreGetPosts');
この出力ソースコードとして次の!-- ここに出したい -->
に書くべき内容はどうなりますか?
php
1<div class="count<!-- ここに出したい -->"> 2<?php if ( have_posts() ) : ?> 3 <?php while ( have_posts() ) : the_post(); ?> 4 <h2><?php the_title(); ?></h2> 5 <?php endwhile; ?> 6 <?php wp_reset_postdata(); ?> 7<?php endif; ?> 8</div>
###試したソースコード
ちなみに!-- ここに出したい -->
を次の2つにしても、いずれも記事数は出力されませんでした。
<?php if ( have_posts() ) echo post_count; ?>
<?php global $wp_query; $wp_query->found_posts; ?>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。