#実現したいこと
「WP Custom Fields Search」プラグインでのキーワード検索をカスタムフィールド内のテキストが検索対象にしたい。
#発生している問題
エラーメッセージは出ていません。
検索自体は正常に動いています。
しかし、「WP Custom Fields Search」プラグインでのキーワード検索がカスタムフィールド内のテキストが検索対象になりません。
#試したこと
##段階1
https://mohulog.com/20180620_1732/
を参考にfunction.phpに下記のコードを追加したところ、カスタムフィールド内のテキストを対象にしたキーワード検索は実現できました。
//カスタムフィールドを含む検索 function custom_search($search, $wp_query) { global $wpdb; if (!$wp_query->is_search) return $search; if (!isset($wp_query->query_vars)) return $search; $search_words = explode(' ', isset($wp_query->query_vars['s']) ? $wp_query->query_vars['s'] : ''); if ( count($search_words) > 0 ) { $search = ''; $search .= "AND post_type = 'post'"; foreach ( $search_words as $word ) { if ( !empty($word) ) { $search_word = '%' . esc_sql( $word ) . '%'; $search .= " AND ( {$wpdb->posts}.post_title LIKE '{$search_word}' OR {$wpdb->posts}.post_content LIKE '{$search_word}' OR {$wpdb->posts}.ID IN ( SELECT distinct post_id FROM {$wpdb->postmeta} WHERE meta_value LIKE '{$search_word}' ) ) "; } } } return $search; } add_filter('posts_search','custom_search', 10, 2);
##段階2
複数タグを組み合わせる検索を自力で実装しようと試みましたが、改ページが上手く動かず、「WP Custom Fields Search」プラグイン(1.2.12)を入れることで実現しました。
https://ja.wordpress.org/plugins/wp-custom-fields-search/
#補足情報
WordPress 5.2.2
Apache 2.2
PHP 5.6.40
MySQL 5.5.62
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。