私は/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"からの投稿であると仮定しますが、それを修正する方法がわかりません。
この記事 で実用的な解決策が見つかるまで、数時間試してみました。
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
をクリックしてルールキャッシュをフラッシュしてください。そうしないと、ルールは適用されません。
お役に立てれば!
私は同じ問題を抱えていて、 'options-reading' WordPress引数の'posts_per_page = 6'
と'Settings/Reading
で、10に設定されていたことに気付きました。
私はパーマリンク構造の変更がうまくいっていることに気付きました。
パーマリンクはカスタム構造ではこんな感じでした:/index.php/%year%/%monthnum%/%day%/%postname%/
それから、私はそれをに変更しました:日と名前(ラジオボタンを選択するだけ)そしてそれはこのように見えるでしょう:/%year%/%monthnum%/%day%/%postname%/
私はこれを試しました、そして、それは働きます!
私のカスタムリンク付きの場合:/%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');
私の場合、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/
私の解決策は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