web-dev-qa-db-ja.com

カスタム分類ページのページ付け

カスタム分類ページを正しくページ付けするのに問題があります。私はこのフォーラムに投稿された他の例を通して調べました、しかし私は私の2ページ目に404エラーページを返さないようにすることができませんでした。これが私の詳細です

  • カスタム税:Study_Tags
  • 例用語:コミュニティ、経済、犯罪...
  • カスタム分類ページ:taxonomy-study_tags.php
  • ページごとの投稿数:5(閲覧設定で設定、サイト上のすべてのページ/投稿でグローバル)

私は私が "query_posts()"関数を使用する必要があると感じる理由であるカスタム分類法 "Study Tags"と共にカスタム投稿タイプ "Study"を使用しています。

それぞれの "Study" CPTには、学習の詳細、プレゼンテーションなどを記載した子ページを含めることができるため、結果には親ページのみを表示します。

クエリを設定するための私の情報

<?php
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $args = array_merge( $wp_query->query_vars, 
    array(
            'post_type'=> 'study',
            'post_parent' => '0',
            'paged' => $paged,
            'order' => 'ASC',
            ));
            query_posts($args);

?>

var_dump()を使用すると、$ wp_query-> query_varsは、たとえば "[study_tags] => community]を渡します。そのため、カスタム税ページに正しい用語を送信しています。

結果の2ページ目を取得する方法はありますか。

1
unwrittendevin

まず最初に、neverを使用してくださいquery_posts:メインのクエリを変更する必要がある場合は、pre_get_postsフックを使用してください。パフォーマンスが上がると、.

カスタム分類法study_tagsstudy CPTにのみ使用される場合、デフォルトクエリを変更する唯一の理由は、post parentを0に設定することです。

add_action('pre_get_posts','set_study_parent');

function set_study_parent( $query ) {
  if ( ! is_admin() && is_main_query() && is_tax('study_tags') ) {
    $query->set( 'post_parent', 0 );
  }
}

それであなたのtaxonomy-study_tags.phpテンプレートで、あなたはただループを使うことができます。ページ付けは、他に何もしなくても機能します。

1
gmazzap