私のwordpressブログに前の投稿を表示(前のページ)にコードを追加しようとします。このコードを試してもうまくいきません:
<?php
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$args = array(
'offset' => 1,
'cat' => -22,
'paged'=>$paged
);
$recent = new WP_Query($args);
while($recent->have_posts()) : $recent->the_post();
// here some code to view
<?php endwhile; ?>
<div class="navigation"><p><?php posts_nav_link('∞','next page','previous page'); ?></p></div>
<?php wp_reset_query(); ?>
http://mydomain.com/page/2
では機能しません
offset
paramを設定したので、paged
paramは無視されます;)
コーデックスから:
offset(int)-置き換えまたは渡すポストの数。警告:オフセットパラメータを設定すると、ページングが上書きまたは無視されます
このクエリの最新の投稿を無視する場合は、2つの方法で達成できます。
1。カスタムページネーション
$ppp = get_option('posts_per_page'); // or any other method to get your posts_per_page
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$args = array(
'offset' => 1 + ( $paged * $ppp ),
'cat' => -22,
'paged'=>$paged
);
2。最初の投稿を無視
$most_recent_post_id = ...; // get the ID of most recent post
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$args = array(
'post__not_in' => array($most_recent_post_id),
'cat' => -22,
'paged'=>$paged
);