web-dev-qa-db-ja.com

WordPress/page/2 404ページネーションの問題 - 何をする?

私は/page/2 404ページ付けの問題に出くわし、解決策を見つけようとしました。いくつかの提案を読んだことがありますが、まだ役に立ちませんでした。

Working: http://pandasnacozinha.com.br/bolos-doces-e-sobremesas/ /

動作していない: http://pandasnacozinha.com.br/bolos-doces-e-sobremesas/page/2/

私は何時間もこれを理解しようとしていました。私のパーマリンク構造は/%category%/%postname%/なので、WordPressは "page"がカテゴリ "bolos、doces e sobremesas"からの投稿であると仮定しますが、それを修正する方法がわかりません。

5

この記事 で実用的な解決策が見つかるまで、数時間試してみました。

functions.phpファイルに、

/**
 * Fix pagination on archive pages
 * After adding a rewrite rule, go to Settings > Permalinks and click Save to flush the rules cache
 */
function my_pagination_rewrite() {
    add_rewrite_rule('blog/page/?([0-9]{1,})/?$', 'index.php?category_name=blog&paged=$matches[1]', 'top');
}
add_action('init', 'my_pagination_rewrite');

上記のコードのblogをあなたのカテゴリ名に置き換えてください。

このコードを追加した後、必ずSettings > Permalinksに移動してSaveをクリックしてルールキャッシュをフラッシュしてください。そうしないと、ルールは適用されません。

お役に立てれば!

3
kregus

私は同じ問題を抱えていて、 'options-reading' WordPress引数の'posts_per_page = 6''Settings/Readingで、10に設定されていたことに気付きました。

3

私はパーマリンク構造の変更がうまくいっていることに気付きました。

パーマリンクはカスタム構造ではこんな感じでした:/index.php/%year%/%monthnum%/%day%/%postname%/

それから、私はそれをに変更しました:日と名前(ラジオボタンを選択するだけ)そしてそれはこのように見えるでしょう:/%year%/%monthnum%/%day%/%postname%/

私はこれを試しました、そして、それは働きます!

2
LuckyDj

私のカスタムリンク付きの場合:/%category%/%postname%/私は/ news/page/2 /に問題がありました。

そして最後にこれは私のために動作します(functions.phpに追加):

function remove_page_from_query_string($query_string)
{ 
    if ($query_string['name'] == 'page' && isset($query_string['page'])) {
        unset($query_string['name']);
        $query_string['paged'] = $query_string['page'];
    }      
    return $query_string;
}
add_filter('request', 'remove_page_from_query_string');
2
themoonlikeme

私の場合、DiviとPageNaviプラグインを使用して、404を取得したのは、ページテンプレート(私の場合はアーカイブ)がget_query_var( 'paged' )を使用してpagedクエリパラメーターを取得していたためです。行うには、次のようなグローバル変数を使用しました。

<?php
/*
Template Name: Archives
*/
get_header(); ?>

<?php

    // $paged is a global variable provider by the theme?
    global $paged;

    $args = array(
        'posts_per_page' => 4, 
        'post_type' => 'axis',
        'paged' => $paged,
    );

    $myposts = new WP_Query($args);
?>

<div div style="width: 50%; margin: 0 auto;">

    <?php while ( $myposts->have_posts() ) : $myposts->the_post(); ?>

            <div class="media-body">
                <?php the_content(); ?>
            </div>


    <?php endwhile; wp_reset_postdata(); ?>

    <?php wp_pagenavi( array( 'query' => $myposts ) ); ?>

</div>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

このコードは、リンクされ解決されたpost-name/page/Nフォーマッター投稿を修正しました。パーマリンクの設定は「投稿名」に設定されています。つまり、http://localhost/sample-post/

0
Kahitarich

私の解決策は3ステップです。

1 - 最初のもの:このプラグインをインストールする: https://wordpress.org/plugins/category-pagination-fix/

2-then:タラをこの構造でマッハ

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

        $q=new wp_Query(
            array(
                 "posts_per_page"=>10,
                 "post_type"=>"",
                 "meta_key"=>"",
                 "orderby"=>"meta_value_num",
                 "order"=>"asc",
                 "paged" => $paged,

            )
        );
 while($q->have_posts())

        {
            $q->the_post();    
            ?>
<li></li>
 <?php
        }
        wp_reset_postdata();

        ?>





<div class="pagination">
<?php
global $q;
$big = 999999999; // need an unlikely integer
echo paginate_links( array(
        'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
        'format' => '?paged=%#%',
        'current' => max( 1, get_query_var('paged') ),
        'total' => $q->max_num_pages
) );
?>
</div>

ワードプレスの設定>読み>ブログの1ページあたりの投稿数の最大数を入力し、数字を入力してください1

0
Mohammad1369 D