web-dev-qa-db-ja.com

ページ付けは404エラーを与える

WPのこのバグは、WPチームによって解決されたことはないようです。

私はカスタムの投稿タイプを持っています、私のURL構造は/%category%/%postname%/ですそして私が2ページ目をクリックすると404エラーが出ます。

私はインターネット、プラグイン、コードで見つけたすべてのものを試しました。私はページではないように私のページ付けベースURLを変更したので、wp私はpost-typeという名前のページを探しているとは思わない。それでもまだ何もない。

そして、はい、私はパーマリンクの再保存プロセスを行いました、私はデフォルトに戻し、それから戻って、まだ何もしないようにしてみました...ダウンロードされたwp_naviはまだ同じ..

これを解決するためにできることはありますか?

2
Tommixoft

これを試しましたか?

私は以前に同じ問題を抱えていました。私はこれらのステップをした、そしてそれは私のために働く。

私は自分のfunctions.phpでこのコードを使っています

// New method of WordPress Query since 3.4.1
if ( ! function_exists( 'ucc_add_cpts_to_pre_get_posts' ) ) {
    function ucc_add_cpts_to_pre_get_posts( $query ) {
    if ( $query->is_main_query() && ! is_post_type_archive() && ! is_archive() && ! is_search() && ! is_singular() && ! is_404() ) {
        $my_post_type = get_query_var( 'post_type' );
        if ( empty( $my_post_type ) ) {
            $query->set('post_type', 'your_post_type_name'); // replace your_post_type_name with yours
        }
    }
}
}add_action( 'pre_get_posts', 'ucc_add_cpts_to_pre_get_posts' );

それから、私はこれを私のsingle- {post-type} .phpで使います。

<?php $paged = 1;
  if ( get_query_var('paged') ) $paged = get_query_var('paged');
  if ( get_query_var('page') ) $paged = get_query_var('page'); 
  if (have_posts()): 
?>


<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
  $loop = new WP_Query( array(
    'post_type' => 'your_post_type_name', // replace your_post_type_name with yours
    'posts_per_page' => PER_PAGE_DEFAULT, // Displaying number posts per page equals to Reading Settings in WP admin
    'paged'=>$paged
  )); 
?>

<?php query_posts( '&post_type=your_post_type_name&paged=' . $paged );  ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

  <!-- The content is here -->

<?php endwhile; else: ?>
  <p>Not Found</p>
<?php endif; wp_reset_query(); ?>

<div class="navigation">
 <?php if(function_exists('wp_page_numbers')) { wp_page_numbers(); } ?> 
</div>

私の場合は、WPページ番号プラグインを使用します。

うまくいけば、それはあなたの問題を解決することができます。

2
Kharis Blank