我有2个选择的表格。两者都设置好后,一切正常。 但是,如果未设置任何一个,那么我会收到错误消息,因为我无法在地址栏上发送空值。
现在我可以在后端进行一些处理以忽略它,但是我宁愿完全不发送它。我读了许多类似的问题并尝试了所有答案,但是它只是以任何方式发送!
当选择“所有类型”或“所有语言”时,我需要在地址栏上不发送该特定选择的任何参数。
<form action="" method="GET" id="filter">
<?php
if( $terms = get_terms( array( 'taxonomy' => 'genre', 'orderby' => 'name' ) ) ) :
echo '<select name="genrefilter"><option value="">All Genres</option>';
foreach ( $terms as $term ) : ?>
<option <?php echo ((isset($_GET['genrefilter']) && $_GET['genrefilter'] == $term->term_id) ? 'selected="selected"' : '') ?> value="<?php echo $term->term_id;?>"><?php echo $term->name;?></option>
<?php
endforeach;
echo '</select>';
endif;
?>
<?php
if( $terms = get_terms( array( 'taxonomy' => 'language', 'orderby' => 'name' ) ) ) :
echo '<select name="languagefilter"><option value="">All languages</option>';
foreach ( $terms as $term ) : ?>
<option <?php echo ((isset($_GET['languagefilter']) && $_GET['languagefilter'] == $term->term_id) ? 'selected="selected"' : '') ?> value="<?php echo $term->term_id;?>"><?php echo $term->name;?></option>
<?php
endforeach;
echo '</select>';
endif;
?>
<button>Apply filter</button>
</form>