0

特定のカテゴリから投稿を表示するために、以下のphpコードがあります。

<ul id="sliderx">
<?php query_posts('category_name=slideshow&showposts=10');
while (have_posts()) : the_post();
echo "<li>".the_content()."</li>";
endwhile;?>
</ul>

ご覧のとおり、カテゴリのスライドショーにそれらの投稿が表示され、その構造は次のようになります。

<ul id="sliderx">
<li>the post 1</li>
<li>the post 2</li>
<li>the post 3</li>
</ul>

しかし、生成される出力はこれです。

<ul id="sliderx">
<p>three</p>
<li></li><p>two</p>
<li></li><p>one</p>
<li></li>
</ul>

生成された構造はそのように見えるべきではなく、まったく見栄えが悪いので、この構造に表示するように適切に表示する方法に問題があります。

<ul id="sliderx">
<li>the post 1</li>
<li>the post 2</li>
<li>the post 3</li>
</ul>

だから、これを修正する方法を教えてくれる人がいるかどうか疑問に思っています。

私はどんな提案、推奨事項、提案にもオープンです。ありがとうございました。

4

1 に答える 1

3

これは、the_content() にすでにエコーが含まれているために発生します。PHP は、文字列を echo コマンドに送信する前に作成しようとします。文字列が評価されている間、コンテンツはすでに出力されています。次に、echo はまだ印刷されていないもの、つまり li タグを取得します。

したがって、簡単な修正は次のとおりです。

echo '<li>';
the_content();
echo '</li>';

そしてそれは機能し、私の欲求に定着します。

:)

于 2012-10-07T21:41:39.430 に答える