免責事項:私はレガシー企業のWPサイト(PHP 5.3.3)で作業していますが、大きな変更を加えることはほとんどできません。Wordpressのパラメータ "/ page/2"を別のものに変更することはできますか?
私は、既存のリソースページ(/ resources)にページネーションを追加しています。私は一般的にWordpressにはかなり新しいですが、私は自分のページを操作して、ページの読み込みに正しい数のリソースを表示しています。
私の質問は:あなたが使用してWordpressの中にページ付けする場合:
<?php next_posts_link('More Resources' , $the_query->max_num_pages); ?>
をそれはページ上のリンクを作成し、あなたがそれをクリックすると、WPは、自動的にそのようなページのparam追加:/リソース/ページ/ 2/。私が抱えている問題は、クリックするとすぐに404が得られるということです。私はこれについて多くのことを読んだことがあります。この主な理由は、通常、wp_queryを使用してカスタムクエリを作成し、カスタムクエリのポスト数がメインページクエリのポスト数と異なる場合です。私は、これはもともと問題だと思ったので、私はpre_post_loadフックにposts_per_pageのPARAMを設定するためのロジックを移動し、これはうまく機能している:
function exp_wp_modify_main_query ($query) {
if ($query->is_page('resources') && $query->is_main_query()) { // Run only on resources page
$query->query_vars['posts_per_page'] = 8;
}
}
add_action('pre_get_posts', 'exp_wp_modify_main_query');
私は改ページを必要とするのに十分なブログ記事を持っている(があります1ページあたりの私のポスト数より多くのポスト)。この問題はカテゴリなしで設定されているという事実に関連していると私は考えている。リソースページにはカテゴリはありません。したがって、このようなURLの代わりに: resources/some_category/page/2/、それは単なるresources/page/2です。 WPが「ページ」をカテゴリと考えている可能性はありますか?それが404を投げつけるのはなぜですか?
はい場合は、/P/2/に/ページ/ 2/を変更する方法があり、そしてそれにはいた場合、あっても良いアイデアはありますか?
アップデートを、私は、ページネーションベース(add_action(「INITを変更する方法を見つけました'、' ds_set_pagination_base ')))! しかし、それはまだ壊れています。 – kauffee000