ブログBlog

フリーワード検索でカスタムフィールドの中身も検索

RishunTradingです。便利なWordpressの検索パラメータ(*1)ですが、基本検索対象はタイトルと本文と抜粋です。

※1 検索パラメータについては以前記載しているので以下も確認してみてください。
WP_Queryやget_postsのパラメータまとめ

フリーワードで検索させるような場合、たいていは、タイトルと本文内の検索で事足りますが、お客様が扱う情報をカスタムフィールドを設けて格納しているような場合には、フリーワード検索時の対象フィールドにこのカスタムフィールドも含めて検索する場合があります。
今回は、このカスタムフィールドの中も含めてフリーワード検索で検索させる方法について備忘録もかねて記載します。
(なお、SQL文の知識が必要になってきます。本ブログでSQL文についての記載はしないのでわからない方は別途ネットで調べて下さい)

1.ポイント

(1)”posts_search”にフィルターフックをかけて処理を追加
(2)検索パラメータ’s’のフリーワード検索の時のみ処理を実行
(3)検索文字列を抜き出す(スペース区切りでの複数文字検索を許容)。
(4)部分一致の表現は、”%”で検索対象文字列を囲む。
(5)カスタムフィールドは、meta_valueに格納されているのでその中を確認する条件文をSQLで作成する。
(6)文字列の条件文は”LIKE”。
(6)作成したSQL文を返却する。

 

2.実際のソース

本処理は、フリーワード検索でカスタム投稿タイプ’products’内の”タイトル”と”カスタムフィールド”の中を検索しています。
“本文”内は検索していません。
なぜなら、カスタム投稿タイプ’products’は、商品情報となり本文が無い、タイトルとカスタムフィールドで宣言された投稿タイプであるためです。

 

以上、簡単ですがフリーワード検索でカスタムフィールドも対象にしたい場合には上記のソースを参考にして頂ければと思います。

 

WEB DESIGN

RishunTradingでは、日本にはないコンセプトや高いデザイン性をもったヨーロッパ製品の輸入販売、及び、Webサイト制作事業などをおこなっております。

「全てお任せ!ホームページ制作」は、ドメイン取得からサーバー設定、レスポンシブルデザイン(スマホ、タブレット対応)、SEO対策がすべて含まれたお得なホームページを制作するサービス商品です。

運用開始後に「Webサイト運用管理サービス(保守)」と組み合わせて購入しますと、メンテナンス、更新も含めてすべて弊社で実施しますので、お客様は安心して本業に集中する事ができます。

しかもなんと、「全てお任せ!ホームページ制作」は、¥100,000!で提供しております。

本業が忙しい中小企業様に大変ご好評を頂いている商品です。

  • 独自ドメイン取得

    独自ドメイン取得

  • サーバー開設&設定

    サーバー開設&設定

  • レイアウト設計

    レイアウト設計

  • レスポンシブルデザイン

    レスポンシブルデザイン
    (*1)

  • 検索エンジン最適化(SEO対策)

    検索エンジン最適化
    (SEO対策)

  • 場所Maps

    場所Maps

  • お問い合わせフォーム

    お問い合わせフォーム

  • SSL化

    SSL化

  • 各種SNS連携

    各種SNS連携

  • 運用マニュアル

    運用マニュアル

≫詳細はこちら

MENU