ワードプレスで特定のカスタムフィールドを検索に含む方法 を見ていきましょう。
ワードプレスの検索システム
ワードプレスの検索システムは主に、タイトルとコンテンツの本文を検索します。
カスタムフィールドの値を検索条件に含む場合テーマのFunctions.phpもしくは制作されているプラグインなどにプログラムコードを追加する必要があります。
ワードプレスの個別の投稿のカスタムフィールドの値を検索で考慮するようにする
ワードプレスのadd_filterを利用し、posts_join の値にカスタムフィールドを考慮するように追加する処理を追加します。
カスタムフィールドが一つの場合
function add_search_metadata_join( $join ) { global $wpdb; $join .= " LEFT JOIN $wpdb->postmeta AS mkey ON ($wpdb->posts.ID = mkey.post_id) AND mkey.meta_key = 'カスタムフィールドのメタキー' "; return $join; } add_filter( 'posts_join', 'add_search_metadata_join' );
※カスタムフィールドのメタキー の部分を書き換えてください
カスタムフィールドが2つの場合
function add_search_metadata_join( $join ) { global $wpdb; $join .= " LEFT JOIN $wpdb->postmeta AS mkey ON ($wpdb->posts.ID = mkey.post_id) AND (mkey.meta_key = 'カスタムフィールドのメタキー1') or mkey.meta_key = 'カスタムフィールドのメタキー2')"; return $join; } add_filter( 'posts_join', 'add_search_metadata_join' );
となります。お試しくださいませ