【发布时间】:2011-07-04 16:54:15
【问题描述】:
在 searchresults.php 中
当我选择“价格升序”时,它可以正常工作,但会将所有属性加载到页面上。例如,当我搜索亚利桑那州,然后从选择中选择“价格升序”,它在亚利桑那州没有订购属性,它会在页面上加载所有属性,然后按“价格升序”排序。
谢谢
您可以在 sedefemlak.com 上观看直播
搜索结果.php
<div id="resultsorder" style="">
<form name="formorder" method="POST" action="<?php bloginfo('url'); ?>/?page_id=<?php echo $wp_searchpageid; ?>">
<select name="resultsorder" onChange="formorder.submit();">
<option>Order</option>
<option>Date Descending</option>
<option>Date Ascending</option>
<option>Price Descending</option>
<option>Price Ascending</option>
<option>Random</option>
</select>
</form>
</div>
search_query.php
if($resultsorder) {
//get value from order dropdown on search results page
$resultsorder = $resultsorder;
} else {
$resultsorder = get_option('wp_searchorder');
}
switch ($resultsorder) {
case "Price Descending":
$metakey = 'price_value';
$order = 'DESC';
$orderby = 'meta_value_num';
break;
case "Price Ascending":
$metakey = 'price_value';
$order = 'ASC';
$orderby = 'meta_value_num';
break;
case "Date Descending":
$metakey = '';
$order = 'DESC';
$orderby = 'date';
break;
case "Date Ascending":
$metakey = '';
$order = 'ASC';
$orderby = 'date';
break;
case "Random":
$metakey = '';
$order = '';
$orderby = 'rand';
break;
}
if (!empty($_ids) && !$alllistings) {
$wpq = array ('post_type' => 'listing', 'meta_key' => $metakey, 'orderby' => $orderby, 'order' => $order, 'post__in' => $_ids, 'post_status' => 'publish', 'paged' => $paged, 'posts_per_page' => 9999 );
} elseif (empty($_ids) && !$alllistings) {
// $_ids array is empty because search got no results
// $_ids array will be empty if page is an "All Listings" page. Don't run this code if is All Listings because All Listings will show all listings. This code will display "no results found"
$wpq = array ('post_type' =>'listing', 'meta_key' => $metakey, 'orderby' => $orderby, 'order' => $order, 'post__in' => array('0'),'post_status' => 'publish', 'paged' => $paged, 'posts_per_page' => 9999);
} elseif ($alllistings) {
// This is an All Listings page, so show all results
$wpq = array ('post_type' =>'listing', 'paged' => $paged, 'meta_key' => $metakey, 'orderby' => $orderby, 'order' => $order, 'post_status' => 'publish', 'posts_per_page' => 9999);
}
$listing = new WP_Query($wpq);
【问题讨论】:
标签: php javascript mysql wordpress