これはおそらく簡単なことですが、静的なページのコンテンツが投稿のリストの後に表示されるのに問題があるのです。
スライダーとして投稿を表示する名前付きページテンプレートを使用しています。このスライダーの下にページの静的コンテンツを表示します。
私のテンプレートでこれを持っている静的なコンテンツを表示するには:
<!-- display page content (if any) before blog posts -->
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div <?php post_class(); ?>>
<h1 class="title"><?php the_title(); ?></h1>
<div class="entry">
<?php the_content(); ?>
</div><!-- /.entry -->
<div class="fix"></div>
</div><!-- /.post -->
<?php endwhile; endif; ?>
<!-- end of page content -->
スライダーのクエリ/ループの前にこのコードを使用すると、静的コンテンツは問題なく表示され、スライダーには投稿が表示されます。ただし、スライダーの投稿の後にこのスニペットを使用すると、投稿の一覧にクエリが設定されているため、スライダーの投稿の一覧が表示されます。
基本的に、スライダーのポストの後に静的コンテンツを表示するには、何らかの方法で現在の静的ページコンテンツにクエリをリセットする必要があります。
wp_reset_query();
または$wp_query
の結果を$my_query = new WP_Query(); if( $my_query->have_posts();
などに保存することを検討してください。コーデックスページを見てください。
スライダーは、秒のカスタムループから作成する必要があります。 $my_query = new WP_Query()
の使用を含む、いくつかのオプションがありますが、一般的に言って、私の好みは$my_query = get_posts()
を使用することです。
スライダーコードを投稿した場合は、それを適切にカスタマイズできます。
ありがとうございました。
デフォルトのデータを$post
に保持するためにスライダーコードがカスタムクエリ変数を持つことが理想的であることを私は理解していますが、スライダーは私の親テーマによって処理されるので変更したくありません。代わりに私はこれをしました:
wp_reset_query
は何もしていないようですが、以下のものがうまくいきました...
現在の静的ページを取得するために、2番目のループの前(スライダーの後)にこれを追加しました。
$my_query = new WP_Query( 'paged=' . get_query_var( 'page' ) );
while ($my_query->have_posts()) { $my_query->the_post();