Wordpress - добавление значения по умолчанию в выпадающий список, который не ссылается на страницу
У меня есть следующий фрагмент кода, который создает выпадающий список сообщений.
<?php
$mypostype = get_posts('post_type=rentals');
if($mypostype) : ?>
<form action="" id="myform">
<label for="myselect">Rentals</label>
<select id="myselect" name="select_post_type" onChange='document.location.href=this.options[this.selectedIndex].value;'>
<?php foreach ( $mypostype as $mypost ) : ?>
<option value="?rentals=<?php echo $mypost->post_name; ?>"><?php echo $mypost->post_title; ?></option>
<?php endforeach; ?>
</select>
</form>
<?php endif ?>
Это прекрасно работает, кроме одной вещи, которая заключается в возможности добавить значение по умолчанию в раскрывающийся список, который не ссылается на какую-либо страницу, например, текст "Выбрать аренду".
Было бы здорово, если бы кто-то мог объяснить, как добавить это значение в.
Спасибо за ваше время и помощь заранее.
1 ответ
Добавив <option>
в <select>
и небольшое изменение в JavaScript onChange
событие, проверяя, является ли значение выбранного параметра не пустым:
<?php
$mypostype = get_posts('post_type=rentals');
if($mypostype) : ?>
<form action="" id="myform">
<label for="myselect">Rentals</label>
<select id="myselect" name="select_post_type" onChange="((this.options[this.selectedIndex].value != '') ? document.location.href=this.options[this.selectedIndex].value : false);">
<option value="" selected="selected">Select Rentals</option>
<?php foreach ( $mypostype as $mypost ) : ?>
<option value="?rentals=<?php echo $mypost->post_name; ?>"><?php echo $mypost->post_title; ?></option>
<?php endforeach; ?>
</select>
</form>
<?php endif ?>
Это должно удовлетворить ваши потребности...
Кстати, вы можете сделать это, чтобы повторить ссылки на посты (абсолютные ссылки):
<option value="<?php echo get_permalink( $mypost->ID ); ?>"><?php echo $mypost->post_title; ?></option>