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>
Другие вопросы по тегам