Wordpress - 将默认值添加到链接到无页面的下拉列表

时间:2013-08-12 00:06:55

标签: wordpress html-select

我有以下代码,可以创建一些帖子的下拉列表。

<?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 个答案:

答案 0 :(得分:0)

通过检查所选选项值是否为空,在<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>