web-dev-qa-db-ja.com

カスタム検索結果をメインに追加 WP サーチ

私は知っています、この質問は数回前に尋ねられました、しかし、私は私の仕事にふさわしい答えを見つけませんでした。 StackOverflow についても同じ質問をしましたが、このコミュニティの方がWordPress関連の質問にもっと慣れていると思います。

フォーラムで同じキーワードを検索して、既存のWP検索結果配列に結果を追加するだけです。 Joomlaにはそれのためのイベントがあります、それはあなたがプラグインによるカスタム検索を追加することを可能にします。すべてのプラグインが起動されたときにのみ、ページ付けが計算されます。 WordPressは非常に違ったやり方で動いているように見えます、そしてそれは今私を混乱させます。

主な条件: メインのsearch.php で動作しなければならないので、カスタム検索ページは解決策ではありません。

私は自分のプラグインとクエリされたフォーラムに同じキーワードでpre_get_postsフックを追加しました。その後、the_permalink、author_link、the_author、the_categoryフックでフォーラムの結果の外観を調整しました。見つけた投稿の数を変更しただけで、ページ付けは正しいページ数のpfを表示します。問題ありません。

WordPressに基準に一致する投稿がもうない場合、私が問題になっているのは、ページ付け動作とフォーラムのクエリです。

つまり、フォーラムの結果はWPの結果に追加し、理想的には与えられた基準(タイトル、日付など)でソートする必要があります。

誰が私にどこでそしていつ私が私の結果を適切に加えるべきであるかに関する例を私に与えることができますか?正直なところ、私はここで少し迷っています。

ちょっとした更新...

Joomlaはさまざまなプラグイン(クエリ)からの結果を処理するのに非常に単純なアルゴリズムを持っています。最初にそれ自身のデータベースに問い合わせ、それから検索関連のすべてのプラグインを呼び出し、それらに現在の結果の配列を渡します。各プラグインはそれ自身の結果をこの配列に単純にプッシュします。そしてそのときだけ、ページネーションが計算されます。簡単です。

基本的には、同じことが必要です。どういうわけか、フォーラムの結果をWP results配列にプッシュして、ページ付けを機能させる。フォーラムをウィジェットから検索して結果を他の検索ページに表示したくない。これは私が達成する方法を知っています。

3
The Krotek

私は思う、私は 解決策を見つけました / /gmazapp 。少なくとも、それは私のために働いた。ちょっとハックっぽいですが、仕事はかなり上手くいきますので、将来誰かが同じことを探しているのであれば共有します。

0
The Krotek