質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SEO

SEO(Search Engine Optimization)は、検索エンジンでウェブページがランキング上位に上がるように工夫する様々なテクニックの事です。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1640閲覧

Wordpressの絞り込み検索がうまくいかない。(同じ種類のタクソノミーの複数検索が一つしか絞り込めてない)

yuta_rondo

総合スコア1

SEO

SEO(Search Engine Optimization)は、検索エンジンでウェブページがランキング上位に上がるように工夫する様々なテクニックの事です。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/08/27 06:20

編集2020/08/27 06:25

前提・実現したいこと

Wordpressで質問がございます。

カスタムタクソノミーを利用した、絞り込み検索機能(AND検索)を実装したのですが、
同じタクソノミー内で複数チェックボックスを選択したとき
最後のタクソノミーだけが検索結果に表示され、
そのほかの選択したはずのものが上書き?されたように表示されません。

(例)
下画像のように、
チェックボックスを複数選択してサーチすると
4つのAND検索を期待しているのに、スタイリッシュがついた投稿のみ絞られる
※スタイリッシュ以外は無視される。
イメージ説明

該当のソースコード

<div class="search_box" method="post" action="<?php echo home_url(); ?>"> <form class="search_form"> <section class="category"> <h3 class="title"><span class="en baskerville_regular">DESIGN</span><span class="ja">デザイン</span></h3> <div class="select_box"> <?php $terms = get_terms( 'works_design' ); ?> <?php if( $terms ): ?> <?php foreach( $terms as $term ): ?> <label><input type="checkbox" class="checkbox_input" name="works_design" value="<?php echo esc_attr( $term->slug ); ?>"><span class="txt"><?php echo esc_html( $term->name ); ?></span></label> <?php endforeach; ?> <?php endif; ?> </div> </section> <section class="category"> <h3 class="title"><span class="en baskerville_regular">PLACE</span><span class="ja">施工場所</span></h3> <div class="select_box"> <?php $terms = get_terms( 'works_place' ); ?> <?php if( $terms ): ?> <?php foreach( $terms as $term ): ?> <label><input type="checkbox" class="checkbox_input" name="works_place" value="<?php echo esc_attr( $term->slug ); ?>"><span class="txt"><?php echo esc_html( $term->name ); ?></span></label> <?php endforeach; ?> <?php endif; ?> </div> </section> <span class="submit"><input type="submit" value="SEARCH" class="baskerville_regular"><span class=icon></span></span> </form> </div>

補足情報

上記添付画像をサーチした場合のURLは下記のようになります(サイトドメイン等は除いて記入してます)
/?works_design=provence&works_design=modern&works_design=natural&works_design=stylish

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

フォームから送信される項目で、同じ名前で複数のデータが来た場合は、値が上書きされます。

<label><input type="checkbox" class="checkbox_input" name="works_place" value="<?php echo esc_attr( $term->slug ); ?>"><span class="txt"><?php echo esc_html( $term->name ); ?></span></label>

name="works_place"name="works_place[]" にして、配列として受け取るとどうなるでしょうか?

投稿2020/08/29 07:27

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuta_rondo

2020/08/31 00:45 編集

CHERRY様 ご返答ありがとうございます。 配列にすることで、上書きされずに複数検索できました。 ただAND検索ではなくOR検索になってしまいました。。。 実は先日自己解決できまして、 formからデータ送信されたら検索結果用のファイルに飛ばし、 そこで受け取った値を元にwp_queryで絞り込むことで実現できました。 お手数おかけしてすみません。 非常に助かりました!!ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問