私はWordPressの検索機能に苦労しています。たぶんそれは誰かが私にWordPressに組み込まれた機能がどのように機能するのかを説明することができるならばただ役に立つでしょう。しかし、これが私が欲しいものです:
まず第一に、これも可能ですか私はネイティブのPHP + SQLを使用する必要がありますか?可能であれば、どこから始めればいいのか教えてください。
組み込みのWP検索は、only a投稿 '/ Pages'のタイトルとコンテンツ、not、カスタムフィールドなどの他の要素、およびショートコードのコンテンツを表示します。カスタムフィールドを検索するプラグインはたくさんあります。
http://wordpress.org/extend/plugins/wp-custom-fields-search/ /
http://wordpress.org/extend/plugins/search-everything/ /
http://wordpress.org/extend/plugins/relevanssi/ /
「プラグインがデータベースクエリの検索セクションをコンテキスト的に追加/削除/変更することを可能にする」フィルタapply_filters_ref_array()
もあります。
参考までに、検索はquery.php
で定義されており、以下のようになっています。
...if ( !empty($q['s']) ) ... ($wpdb->posts.post_title LIKE '{$n}{$term}{$n}') OR ($wpdb->posts.post_content LIKE '{$n}{$term}{$n}')
そのため、デフォルトの検索ではタイトルとコンテンツのみが唯一のものです。
独自の検索テンプレートを作成し、 WP_Query を使用して検索をカスタマイズできます。ほとんどの場合、あなたが望むことをするのに十分なパラメータがあります、あなたはデータベースに飛び込む必要はありません。
例: カスタム検索テンプレートの作成 。
WP_Queryができること以外に何かが必要な場合は、WordPressのWPDBクラスを使用して データベースと対話する にすることができるカスタムphp/sqlを無効にする必要はありません。