前提・実現したいこと
wordpressでポータルサイトのようなサイトを制作をしております。
地方ごとに指定のターム一覧を表示させ、ターム横に記事数を表示させています。
記事数は以下のコードで表示できたのですが、「下書き」「非公開」の記事までカウントされてしまいます。
「公開済み」の記事数を表示したいです。
昨日から調べ続けておりますが、どこにどのように記載したら良いか分からず質問させていただきました。
PHPは初心者で、コードは調べながら書いたりコピペさせてもらったりしています。
どうぞよろしくお願いいたします。
発生している問題
下書きや非公開記事の分までカウントされてしまいます。
該当のソースコード
<div> <p>北海道・東北</p> <ul class="area"> <?php $post_type = 'shop'; $taxonomy = 'area_cat'; $args = array( 'parent' => 0, 'slug' => array('hokkaido','aomori','akita','yamagata','iwate','miyagi','fukushima'), 'pad_counts' => false, 'hide_empty' => false, ); $terms = get_terms( $taxonomy , $args ); if ( count( $terms ) != 0 ) { foreach ( $terms as $term ) { $term = sanitize_term( $term, $taxonomy ); $term_link = get_term_link( $term, $taxonomy ); if ( is_wp_error( $term_link ) ) { continue; } $slug = $term->slug; ?> <?php $allarea = get_term_by( 'slug', 'allarea-c', 'area_cat' ); $count = $allarea->count; /*「全国」対象の店舗は全てのカウントに加算されます*/ ?> <?php $count2 = $term->count; ?> <?php $allposts = $count + $count2; /*「全国」分と各都道府県分をここで足しました*/?> <?php echo '<li><a href="' . esc_url( $term_link ) . '" >' . $term->name .'<span class="count">(' .$allposts. ')</span></a></li>';?> <?php wp_reset_query(); ?> <?php } } ?> </div>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/10 04:38
2021/02/10 05:39
2021/02/10 06:07