web-dev-qa-db-ja.com

カテゴリによるフィルタリングがバックエンドで正しくページ分割を行わない

問題の説明

今、Wordpressの管理ダッシュボードで、私たちのブログには300の投稿があります。これらの投稿のうち250はカテゴリ「ブログ」にあります。ブログカテゴリの投稿のみを表示するように投稿をフィルタしようとしています。そのため、ドロップダウンをクリックしてそのようにフィルタ処理するか、カテゴリページに移動して、テーブル行の右側にある[投稿番号]リンクをクリックします。

[画面オプション]の[1ページあたりの投稿数]の設定も、1ページあたり300の投稿数に設定されています。

予想される行動:

カテゴリフィルタを選択すると、1ページに300の投稿があるはずなので、すべての投稿を見ることができます。300を超える投稿がある場合は、下部にページ付けがあります。

実際のふるまい

Wordpressでは8件の投稿のみが表示され(「ブログ」の投稿は合計250件あります)、右下隅にページ付けはありません。

試行された修正

  • ページあたりの投稿数を50に減らしてforceページネーションを試みました。 何が起こったのか 右下にページネーションが作成されたが、 "2ページ"に行くと同じ8つの投稿が表示される。
  • WP_ALLOW_REPAIRを有効にしてHost/wp-admin/maint/repair.phpを押すことを試みました。 起こったこと :スクリプトは、 "データベースの修復"と "データベースの修復と最適化"の両方について、何も修復しないことを返しました。
2
Zachary

フロントエンドだけでなくバックエンドも制限していたpre_get_postsフィルタに、誤ってページごとの投稿を追加したように見えます。

そのコードを!is_admin()でラップしただけなので、行ってよかったです。

1
Zachary