0 レビュー
1 回答
php-query_postとhave_postsの問題
投稿が20件あり、投稿5件ごとにテキストを表示する必要があります。だから私はstackoverflowでクエリを尋ねました、そして私は解決策を得ました。私は自分のサイトでクエリを試しました。私のコードは、
<?php
query_posts( array(orderby=>post_date, order=>desc) );
$p = 1;
while ( have_posts() ) : the_post();
?>
<div class="post">
<?php the_title(); ?>
<?php the_post_thumbnail(); ?>
</div>
<?php ($p%5 == 0) ? ($p/5): ""; ?>
<?php if($p==5):
echo hai;
elseif($p==10):
echo fine;
endif;
?>
<?php
$p++;
?>
<?php
endwhile;
?>
5回の投稿後に「Hai」と「Fine」をエコーすると正常に機能します。
以下の形式のコードを置き換えながらBUTします。投稿が正しくフェッチされていません。誰か助けてください。 5番目の投稿の後に自分のカテゴリID3を追加し、10番目の投稿の後にカテゴリID4を追加する必要があります
<?php
query_posts( array(orderby=>post_date, order=>desc) );
$p = 1;
while ( have_posts() ) : the_post();
?>
<div class="post">
<?php the_title(); ?>
<?php the_post_thumbnail(); ?>
</div>
<?php ($p%5 == 0) ? ($p/5): ""; ?>
<?php if($p==5):
if (have_posts()) :
query_posts( array(cat=>3, orderby=>post_date, order=>desc) );
while (have_posts()) : the_post(); ?>
<?php the_title(); ?>
<?php endwhile; ?>
<?php endif;
elseif($p==10):
echo fine;
endif;
?>
<?php
$p++;
?>
<?php
endwhile;
?>
echo fine;
の代わりにecho hai;
の代わりに上記で使用したものと同じコードを追加する必要があります
わからない
0
レビュー
答え :
解決策:
wp_reset_query()
を使用します。
wp_reset_query()は$wp_queryを復元します。
<?php
query_posts(array(orderby => post_date、order => desc));
$ p = 1;
while(have_posts()):the_post();
?>
<?php the_title(); ?>
<?php the_post_thumbnail(); ?>
<?php($ p%5 == 0)? ($ p / 5): ""; ?>
<?php if($ p == 5):
if(have_posts()):
{-コード-1};
query_posts(array(cat => 3、orderby => post_date、order => desc));
while(have_posts()):the_post(); ?>
<?php the_title();
?>
<?php endwhile; ?>
<?php endif;
elseif($ p == 10):
{-コード-1};
if(have_posts()):
{-コード-1};
query_posts(array(cat => 3、orderby => post_date、order => desc));
while(have_posts()):the_post(); ?>
<?php the_title(); ?>
<?php endwhile; ?>
<?php endif;
endif;
$ p ++
?>
<?php
終わり;
?>
答えへのリンク
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。