サポート » 使い方全般 » author.phpでページネーションの2ページ目からが表示されない

  • お世話になります。
    WPのauthor.phpにてページネーションが2ページ目から404エラーとなり表示されません。

    オリジナルテーマを使用して、author.phpに投稿者の記事一覧を表示させているのですが、
    2ページ目から正常に表示されません。

    パーマリンクは ドメイン名/author/投稿者名
    と設定しており、2ページ目からのリンクはfunction.phpでリダイレクトするように設定して
    ドメイン名/author/投稿者名/?paged=2
    となりますが、エラーとなります。

    様々なやり方を試しましたが、どうにも原因がつかめません。

    下記に詳細コード記しますので、お知恵をお借りできればと存じます。
    何卒よろしくお願いいたします。

    //author.php
    <div class="staffBlog__wrap">
    
    <?php
    $paged = (int) get_query_var('paged'); 
    $wp_query = new WP_Query();
    $param = array(
    'post_type' => 'blog',
    'posts_per_page' => 2,
    'paged' => $paged
    );
    $wp_query->query($param);
    if ($wp_query->have_posts()) :
    while ($wp_query->have_posts()) : $wp_query->the_post();
    ?>
    ここに記事一覧出力(出力は正常です)
    <?php endwhile;
    endif; ?>
    
    </div>
    
    //ページネーション
    <?php
    if ($wp_query->max_num_pages > 1) :
    echo '<div class="new-pagenation">';
    echo paginate_links(array(
    'base' => get_pagenum_link(1) . '%_%',
    'format' => '?paged=%#%',
    'current' => max(1, $paged),
    'total' => $wp_query->max_num_pages,
    'next_text' => '次へ',
    'prev_text' => '前へ'
    ));
    echo '</div>';
    endif;
    ?>
    
    //function.php
    
    add_filter('redirect_canonical', 'my_disable_redirect_canonical');
    function my_disable_redirect_canonical($redirect_url)
    {
    if (is_archive()) {
    $subject = $redirect_url;
    $pattern = '/\/page\//'; 
    preg_match($pattern, $subject, $matches);
    if ($matches) {
    $redirect_url = false;
    return $redirect_url;
    }
    }
    }
    • このトピックは00333が2年、 10ヶ月前に変更しました。
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは

    やりたいことがいまいち分からないのですが…
    作成者別アーカイブインデックスページなので、メインクエリで制御(pre_get_posts フィルターフック)するか、paged はページ番号で使用されるので別の名前にすればいいのかなと思います。

    pre_get_posts の例:

    add_action( 'pre_get_posts', function( $query ) {
    	if ( ! is_admin() && $query->is_main_query() ) {
    		if ( $query->is_author() ){
    			$query->set( 'post_type', 'blog' );
    			$query->set( 'posts_per_page', 2 );
    		}
    	}
    } );
    トピック投稿者 00333

    (@goto333)

    お世話になっております。
    ご回答いただきましてありがとうございます。
    上記大変参考となりました。
    お手数おかけいたしまして大変申し訳ございませんでした。

    今後はより理解を深められるよう精進してまいりますが、またお聞きすることがあるかもしれません。
    その際は、何卒よろしくお願いいたします。

    改めまして、今回は誠にありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「author.phpでページネーションの2ページ目からが表示されない」には新たに返信することはできません。