WordPressで、「タグ」と「タイトル」から一致するワードの記事を検索する機能を実装したいです。
まず下記のコードのように、Cookie'data'
に検索ワードが入っているのですが、それが「タグ」か「タイトル」かはわからない状態です。
これらのワードから、
・「タグ」に一致するものがあればその記事を表示する。
・「タイトル」に一致するものがあればその記事を表示する。
というような検索システムを作りたいのですが、どのようにしたらよろしいでしょうか?
次のコードはその流れをイメージして書いたものなので、もしよろしければこちらのコードに沿った形で教えて頂けませんでしょうか。
PHP
1function get_my_query(){ 2 3 // 検索ワードを取得(スペースで区切られているので配列で取得) 4 $data = isset($_COOKIE['data']) ? explode(' ', $_COOKIE['data']) : ''; 5 6 $args = array( 7 8 // 基本的な条件 9 $args = array( 10 'posts_per_page' => 10, 11 ); 12 13 // 検索ワードがある場合の条件 14 if( is_array($data) ){ 15 // ➀一致するタイトルがある記事を表示したい 16 $args['title'] = $data; 17 // ➁一致するタグがある記事を表示したい 18 $tax_query = array(array( 19 'taxonomy' => 'my_tag', 20 'field' => 'slug', 21 'terms' => $data, 22 )); 23 $args['tax_query'] = $tax_query; 24 } 25 26 ); 27 28 $my_query = new WP_Query( $args ); 29 return $my_query; 30}
上のコメントにありますように、
// ➀一致するタイトルがある記事を表示したい
// ➁一致するタグがある記事を表示したい
の部分について知りたいと思っています。
上では$data
と書いているだけですが、ここをどうにか、、うまいことしたいです。
よろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。