WordPressユーザー様、こんにちは。
私は私のワードプレスのウェブサイトを構築する問題で立ち往生しています、そして私はそれについて何をすべきか理解できません。
現在、「ニュース」ページのカテゴリ「ニュース」から2件の投稿を表示しています。このページの一番下には、同じカテゴリの前後2つの投稿を表示する[Prev/Next]ボタンが必要です。
それで私はそれをどうやって行うかを探していました。だから私はこのコードを見つけました:
previous_posts_link('Newer Entries »')
next_posts_link('« Older Entries');
これは私が期待していたようなリンクを表示します。しかし、両方のリンクが機能していません(ページのリロード、しかし同じエントリが表示されます)。
私はまたこのコーデックスでこれを見つけた:
posts_nav_link('∞','Go Forward In Time','Go Back in Time');
また、 'Setting'> 'Reading'で、最大投稿数を2に設定しました。
私はこれをどう処理できるかわかりません。 [次へ]または[前へ]ボタンが押されたときに、同じカテゴリの次の2つ(または[X])の投稿を表示する方法はありますか?
ありがとうございます。
編集:これは私が記事を取得する方法です:
$args_news= array(
'cat' => 1,
'posts_per_page' => 2,
'orderby' => 'post_date',
'order' => 'DESC'
);
query_posts( $args_news );
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
the_title();
the_content();
endwhile;
endif;
しかし、私がこの記事のページを作成する方法をまだ知りません。現在、最新の2件の投稿を表示しています。
Paged
をquery_posts
のパラメータ配列に渡します
あなたのクエリがページネーションで動作するようにしたい場合はget_query_var( 'paged' );
を設定する必要があります。
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args_news= array(
'cat' => 1,
'posts_per_page' => 2,
'orderby' => 'post_date',
'order' => 'DESC',
'numberposts' => -1,
'paged' => $paged,
);
query_posts( $args_news );
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
the_title();
the_content();
endwhile;
endif;
どちらもループにはpaged
クエリ変数、リンクにはmax_num_pages
変数を使用する必要があります。
$news_args = array(
'cat' => 1,
'paged' => get_query_var('paged'),
'posts_per_page' => 1,
'orderby' => 'post_date',
'order' => 'DESC',
);
$news_query = new WP_Query($news_args);
if ($news_query->have_posts()) :
while ($news_query->have_posts()) : $news_query->the_post();
the_title();
the_content();
endwhile;
previous_posts_link('prev', $news_query->max_num_pages);
echo ' — ';
next_posts_link('next', $news_query->max_num_pages);
endif;