1

ユーザーが保留中の投稿/コンテンツをフロントエンドで閲覧できるようにするサイトに取り組んでいます。

ただし、これらの投稿でページネーションを機能させることができないようです。カテゴリ ページ、アーカイブなどの保留中の投稿の最初のページを表示するカスタム クエリがあります。

しかし、ページ 2、3 などは機能しません。

何かご意見は?

ありがとう!

これが私が取り組んでいるサンプルコードです:

$args = array(
    'cat'      => $cat_ID,
    'paged' => get_query_var('paged'),
    'showposts' => 50,
    'posts_per_page' => 50,
    'post_status' => 'pending',

);

query_posts($args);

if( have_posts() ) : while (have_posts()) : the_post();

//Post code inserted here

<?php endwhile; ?>
<?php endif; ?>
4

1 に答える 1

0

WordPress のページネーションは、そのページに実行するメイン クエリに十分な結果がない場合、404 になります。

より良い方法があると確信していますが、私が考えることができる唯一の方法は、下書きよりも多くの投稿があるアーカイブ/検索ページでカスタムループを使用することです.

たとえば、カスタム ループを search.php テンプレートに追加し、多くの結果を生成する検索クエリ (「a」など) を渡すことで、それに到達します。search.php を使用すると、ページ、投稿、カスタム投稿タイプが結果に含まれるため、より多くの結果が得られます。

ページネーションには paginate_links を使用します。これにより、各ページでクエリ変数が引き続き渡され、その後はうまくいくはずです。

少し別のメモとして、query_posts の代わりに WP_Query を使用することをお勧めします。理由はこちらをご覧ください

于 2012-08-18T19:00:15.167 に答える