私の質問は新しいものではありませんが、私の場合は見つかったすべての解決策ではうまくいきません。
カスタムのquery_postsループを使用して、最近の投稿を単一の投稿に表示しようとしています。パーマリンク構造は次のようになります:/%category%/%postname%/
Wordpressのバージョン:3.2.1
ページには2つのループがあります。
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<!--first content part-->
<?php endwhile; endif;?>
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('posts_per_page=3&paged='.$paged);
if (have_posts()) : while (have_posts()) : the_post(); ?>
<!--recent posts-->
<?php endwhile; endif; wp_reset_query();?>
そのため、 http://www.domain.com/category/post-one/page/2/ のように次のページを呼び出すと、/ page/2が削除されます。 /そして他に何もしません。
私はすでに実用的な解決策を探していて、解決することが可能かどうかわからないと思っています。
ありがとうございました。
WP_QueryのWPコーデックスから:
現在のページからの投稿を表示
現在のページからの投稿を表示:
$ query = new WP_Query( 'paged ='。get_query_var( 'page'));
ページ付け注:get_query_var( 'page')を設定する必要があります。あなたのクエリがページネーションで動作するようにしたい場合。 Wordpress 3.0.2以降、get_query_var( 'paged')の代わりにget_query_var( 'page')を実行します。 WP_Query()のページ付けパラメータ 'paged'は変わりません。
クエリvarを 'paged'から 'page'に変更すると、次のコードになります。
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<!--first content part-->
<?php endwhile; endif;?>
<?php
$paged = (get_query_var('page')) ? get_query_var('page') : 1;
query_posts('posts_per_page=3&paged='.$paged);
if (have_posts()) : while (have_posts()) : the_post(); ?>
<!--recent posts-->
<?php endwhile; endif; wp_reset_query();?>