アトリエロワ

WP-PageNaviの2ページ目以降404を解決

functions.phpに下記を記載

function category_display_five_articles( $wp_query ) {
    if (!is_admin()) { //管理画面以外で
        if ( $wp_query->is_main_query() && $wp_query->is_category('1') ) { // メインのクエリーでカテゴリーIDが1の時
            $wp_query->set( 'posts_per_page', 5 ); // 表示件数は5件
        }
    }
}
add_action( 'pre_get_posts', 'category_display_five_articles' );

Custom Post Type UIで使う

taxonomy-●●タクソノミー●●.phpの時

functions.phpに下記を記載

add_action('pre_get_posts', 'custom_tax_posts');
function custom_tax_posts( $query ) {
  if (!is_admin() && $query->is_main_query() && $query->is_tax('●●タクソノミー1●●')) {
  $query->set('posts_per_page', '2');
}
elseif (!is_admin() && $query->is_main_query() && $query->is_tax('●●タクソノミー2●●')) {
  $query->set('posts_per_page', '1');
}
}

taxonomy-●●タクソノミー●●.phpに下記を記載

<?php if(have_posts()):while(have_posts()):the_post(); ?>

●●出力する内容●●

<?php endwhile; endif; ?>
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
<?php wp_reset_query();?>

archive-●●投稿タイプ●●.phpの時

functions.phpに下記を記載

add_action('pre_get_posts', 'custom_pre_get_posts');
function custom_pre_get_posts($query) {
  if (!is_admin() && $query->is_main_query() && is_post_type_archive('●●投稿タイプ1●●')) {
    $query->set('posts_per_page', '2');
  }
  elseif (!is_admin() && $query->is_main_query() && is_post_type_archive('●●投稿タイプ2●●')) {
    $query->set('posts_per_page', '1');
  }
}

archive-●●投稿タイプ●●.phpに下記を記載

<?php if(have_posts()):while(have_posts()):the_post(); ?>

●●出力する内容●●

<?php endwhile; endif; ?>
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
<?php wp_reset_query();?>
※下記のようにしなくて良い

<?php $posts = query_posts( $query_string . '&order=asc&posts_per_page=1' ); ?>
<?php if (have_posts() ) : while ( have_posts() ) : the_post(); ?>

HOME > wordpress設計術 > WP-PageNaviの2ページ目以降404を解決

wordpress設計術

wordpress設計術