分類法で複数の用語を照会する必要があるサイトに取り組んでいます。現在、ドロップダウンメニューで動作するフォローがあります。
function ct_search_form_select_quick($name, $taxonomy_name = null) {
global $search_values;
if (!$taxonomy_name) {
$taxonomy_name = $name;
}
?>
<select id="ct_<?php echo $name; ?>" name="ct_<?php echo $name; ?>">
<option value="0"><?php _e('Any', 'theme_textdomain'); ?></option>
<?php foreach( get_terms($taxonomy_name, 'hide_empty=0') as $t ) : ?>
<?php if ($search_values[$name] == $t->slug) { $selected = 'selected="selected" '; } else { $selected = ''; } ?>
<option <?php echo $selected; ?>value="<?php echo $t->slug; ?>"><?php echo $t->name; ?></option>
<?php endforeach; ?>
</select>
ただし、単一の分類法で複数の用語を照会できるようにしたいと考えています。
次のコードを使用すると、用語を選択して最初の用語の結果を出力できますが、2 番目の用語は無視されます。URLは次のように出力されます
?property_type=condo-duplex&property_type=condo-loft&ct_price_from=&ct_price_to=&ct_mls=&property-search=true&x=32&y=18 として出力する必要があります。真&x=32&y=18
function ct_search_form_select($name, $taxonomy_name = null) {
global $search_values;
if (!$taxonomy_name) {
$taxonomy_name = $name;
}
?>
<input type="checkbox" value="0" name="ct_<?php echo $name; ?>"><?php _e('Any', 'theme_textdomain'); ?>
<?php foreach( get_terms($taxonomy_name, 'hide_empty=0') as $t ) : ?>-->
<?php if ($search_values[$name] == $t->slug) { $selected = 'selected="selected" '; } else { $selected = ''; } ?>
<input type="checkbox" name="<?php echo $name; ?>" value="<?php echo $t->slug; ?>"><?php echo $t->name; ?>
<?php endforeach; ?>