0

デフォルトの WP 検索ボックスとは少し異なる検索フォームを作成しようとしています。そのためにsearchform.phpを編集できますが、プラグインの形にしたいので、簡単に有効にしたり無効にしたりできます。しかし問題は、WP が searchform.php を見つけた場合、そのファイルのフォームを使用するため、add_filter や add_action などのトリックはここでは機能しないことです。だから、ここで皆さんに聞きたいのは、上記を達成できる方法はありますか?つまり、searchform.php のコードをオーバーライドします。

また、別の注意として、検索ボックスに「s」以外の名前を付けると、コードは search.php ではなく index.php に移動します。これは、デバッグエコーやその他の奇妙なステートメントを入れて確認しました。これにはどのような理由が考えられますか?

よろしくお願いします。

4

1 に答える 1

0

わかりました、ハックを見つけました。あまり良くはありませんが、私にとってはうまくいきます。だから私がしたことは、私のプラグインのアクティベーションフィルターで、元のsearchform.php(現在のテーマフォルダーにあるもの)の名前をsearchform_orig.phpに変更するコードを書いたことです。このようにWPはsearchform.phpを見つけません。フィルターにフックした検索フォームをレンダリングします。同様に、非アクティブ化の部分で、ファイルの名前を searchform.php に戻します。理想的ではないかもしれませんが、私がテストした y システムで動作しています。このアプローチの抜け穴/警告を知りたいと思いますが。それを答えとしてマークする;-)

于 2013-06-07T05:42:41.723 に答える