1
WordPressのカスタムループにページネーションを追加する方法について、明確な答えが見つかりませんでした。私はコーデックスから理解何から私はget_posts()を使用するようになってる(または私は間違っていると私はWP_Queryまたはquery_postsを使用する必要がありますか?)get_postsを使用したWordpressページ番号
は、私は、カスタムポストタイプentry
幅分類entry_cat
に考えてみましょうと私が表示したいですカテゴリcat-1
またはcat-2
のものを使用し、改ページを追加します。
私のコードは、主に動作します:
<?php
$pageda = get_query_var('paged') ? get_query_var('paged') : 1;
$posts_per_page = get_option('posts_per_page');
$post_offset = ($pageda - 1) * $posts_per_page;
$args = array(
'numberposts' => $posts_per_page,
'post_type' => 'entry',
'offset' => $post_offset,
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'entry_cat',
'field' => 'slug',
'terms' => 'cat-1',
),
array(
'taxonomy' => 'entry_cat',
'field' => 'slug',
'terms' => 'cat-2',
),
),
);
$posts=get_posts($args);
$args['numberposts'] = -1;
$posts_count=count(get_posts($args));
if($posts):
foreach($posts as $post):
?>
<?php the_title() ?><br />
<?php
endforeach;
endif;
echo paginate_links(array(
'current' => $pageda,
'total' => ceil($posts_count/$posts_per_page),
));
?>
が、私はそれには2つの問題があります。
- フロントページには使用できません。
- データベースから投稿を数えて2回取得します。 クエリを使用せずにタクソノミーの組み合わせ内の投稿の数を確認できる機能はありますか?
問題に正しく遭遇していますか?そうでない場合、最良の選択肢は何ですか? WP-pagenaviプラグインで、たとえばワードプレスでは、このprobelmをWP-pagenaviプラグインやカスタムクエリを使用してより良い
私はWP-pagenaviが私を助けることができる方法を見ていません。あなたのコードは私のものと同じように動作します。あなたはWP_Queryを使用していましたので、まずコードを単純化できるかどうかをチェックします。 –