WEBのこと

WordPressでカスタムフィールドの値を検索対象に含める方法

カスタムフィールドの値を検索に含める

ワードプレッサーのみなさんこんにちは!

WordPressのデフォルトの検索窓はカスタムフィールドの値を取得をしていないのはご存知でしょうか?

カスタムフィールドを投稿で使っている場合に値を取得しないでクライアントに納品すると、「検索した言葉が出てこない」とクレームに繋がるので注意しましょうね!

カスタムフィールドを検索に含める方法は2種類

カスタムフィールドを検索に含める場合の方法は、functionに記述するかプラグインを使うかのどちらかです。

function.phpをいじるのが怖い人はプラグインで対応しましょう。

ですが、プラグインを増やすとサイトに負担が増えるので、できる人はfunctionに記述した方が良いですよ!

\function.phpはバックアップをとってから/

Search Everything

カスタムフィールドの値を検索対象に含める方法でプラグインを使う場合「Search Everything」を使います。

サイトからダウンロードする場合はこちらから > Search Everything

▼Wordpress管理画面からのダウンロードはこちら▼

Search Everything

もしくは、Wordpress管理画面プラグインから探してインストールと有効化をしましょう。

Search Everythingの使い方

有効化をしたら「設定>Search Everything」からカスタムフィールドを検索に含める設定をしていきます。

変更する点は1点のみで、赤枠に囲まれている「全てのカスタムフィールドを検索」にチェックを入れるだけ。その後「Save Changes」を押して保存しましょう。

※デフォルトでコメント検索や検索キーワードをハイライトなどが含まれるので、必要なかったらチェック外してください

これで、カスタムフィールドの値を取得できたので実際に試しましょう!

Custom Fields Searchという任意のカスタムフィールドのみ表示できるというプラグインもありましたが、今は配布されていないのでSearch Everythingを使いましょう。

広告

function.phpに記述する方法

こちらからソースコードを拝借させていただきました。

ベースのコードからあまり使われないであろう「-キーワード」のようなNOT検索機能を外して、カスタムフィールドを「ひらがな」と「カタカナ」、「全角英数」と「半角英数」を区別しないでマッチさせるようにしてあります。

自分でやろうとすると困ってしまうところまで実装してくれています。

IZ
IZ
ありがたすぎる・・・

function.phpに記述したら、検索フォームを稼働してみましょう!

カスタムフィールドの値を検索対象に含める方法まとめ

本記事では検索にカスタムフィールドを含める方法を説明してきました。

プラグインを使うとお手軽ですが、「Search Everything」は少し検索結果が表示されるのが遅くなる感じがします。

できるだけfunction.phpに記述する方法で実装しましょう!

> わからないことはTeratailで質問しよう!