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

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

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

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

0回答

2256閲覧

wordpressのカスタムフィールド(セレクトボックス)の検索について

toss1234

総合スコア8

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2015/11/13 03:52

wordpressのカスタムフィールドでセレクトボックスを使用し、その項目について複数検索を行いたく、以下のサイト(http://kotori-blog.com/wordpress/refinement_search/)を参考にしましたが、「カスタムフィールドでセレクトボックスを使用したものだけ」うまくいかず、ご質問させていただきます。
ほかの検索はうまく表示できております。

私のやったことは以下の通りです
カスタムフィールドにて「フィールドタイプ」セレクトボックスで
「選択し」が
駐車場あり : 駐車場あり
ペット相談 : ペット相談
二階以上住戸 : 二階以上住戸
室内洗濯機置き場 : 室内洗濯機置き場
エアコン付き : エアコン付き
オートロック : オートロック
フローリング : フローリング
間取り図付き : 間取り図付き
物件動画付き : 物件動画付き
定期借家を含まない : 定期借家を含まない

form.phpにて下記を記述(今回の質問に必要な部分のみ書いてますのでかなり省略しています)

if(isset($_GET['keyword'])){
$keyword = $_GET['keyword'];
}

<label class="keyword"><input type="checkbox" name="keyword[]" value="駐車場あり" id="key01" <?php if(isset($keyword)){ if(in_array("駐車場あり", $keyword)){echo "checked";}}?>>駐車場あり</label>
<label class="keyword"><input type="checkbox" name="keyword[]" value="ペット相談" id="key02" <?php if(isset($keyword)){ if (in_array("ペット相談", $keyword)){echo "checked";}}?>>ペット相談</label>
<label class="keyword"><input type="checkbox" name="keyword[]" value="二階以上住戸" id="key03" <?php if(isset($keyword)){ if (in_array("二階以上住戸", $keyword)){echo "checked";}}?>>二階以上住戸</label>
<label class="keyword"><input type="checkbox" name="keyword[]" value="室内洗濯機置き場" id="key04" <?php if(isset($keyword)){ if (in_array("室内洗濯機置き場", $keyword)){echo "checked";}}?>>室内洗濯機置き場</label>
<label class="keyword"><input type="checkbox" name="keyword[]" value="エアコン付き" id="key05" <?php if(isset($keyword)){ if (in_array("エアコン付き", $keyword)){echo "checked";}}?>>エアコン付き</label>
<label class="keyword"><input type="checkbox" name="keyword[]" value="オートロック" id="key06" <?php if(isset($keyword)){ if (in_array("オートロック", $keyword)){echo "checked";}}?>>オートロック</label>
<label class="keyword"><input type="checkbox" name="keyword[]" value="フローリング" id="key07" <?php if(isset($keyword)){ if (in_array("フローリング", $keyword)){echo "checked";}}?>>フローリング</label>
<label class="keyword"><input type="checkbox" name="keyword[]" value="間取り図付き" id="key08" <?php if(isset($keyword)){ if (in_array("間取り図付き", $keyword)){echo "checked";}}?>>間取り図付き</label>
<label class="keyword"><input type="checkbox" name="keyword[]" value="物件動画付き" id="key09" <?php if(isset($keyword)){ if (in_array("物件動画付き", $keyword)){echo "checked";}}?>>物件動画付き</label>
<label class="keyword"><input type="checkbox" name="keyword[]" value="定期借家を含まない" id="key10" <?php if(isset($keyword)){ if (in_array("定期借家を含まない", $keyword)){echo "checked";}}?>>定期借家を含まない</label>

search.phpにて

<? $keyword = $_GET['keyword']; if($keyword){ foreach($keyword as $val3){ $metaquerysp[] = array( 'key'=>'keyword', 'value'=> $val3, ); } } ?> <?php if (is_array($keyword)) { ?>こだわり(カスタムフィールドのチェックボックス):<?php

foreach($keyword as $val3){
if ($val3 === end($keyword)) {
echo $val3;
}else{
echo $val3.", ";
}
}
}
?>

<div>検索結果</div> <?php query_posts( array( 'meta_query' => $metaquerysp, 's' => $s, ) ); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div><?php the_title(); ?></div> <div><?php the_content(); ?></div> <div><?php the_field('fudosan_price') ?></div> <div><?php the_field('fudosan_mainimg') ?></div> <div><?php the_field('fudosan_add') ?></div> <?php endwhile; else : ?> <div>該当なし</div> <?php endif; wp_reset_query(); ?> <?php get_footer(); ?>

また、wpの方では
駐車場あり
ペット相談
二階以上住戸
室内洗濯機置き場
エアコン付き
に、チェックをつけています。

検索結果は「駐車場あり, ペット相談」にチェックをつけた場合、

検索条件
こだわり(カスタムフィールドのチェックボックス):駐車場あり, ペット相談
検索結果
該当なし

となってしまいます。
チェックボックス以外の検索では
検索結果に
表示したいものがでてくるのですが、これだけどうしても「該当なし」になってしまいます。

なぜうまくいかないのか、まったく検討がつきません。
よろしければ回答いただけると非常にありがたく思います。どうかよろしくお願い致します。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問