0
我的側邊欄中有一個高級搜索表單。該動作設置爲get_bloginfo('home'),所以它應該指向search.php(因爲表單的id是「searchform」)在Wordpress中搜索自定義元字段
該搜索表單應該按自定義元字段過濾結果。
我嘗試和創造了這個search.php中,
<?php
function get_reviews_by_custom_search() {
global $wpdb;
$grad = preg_replace('/^[0-9a-zA-Z-]/', '', $_GET['grad']);
$adType = preg_replace('/^[0-9a-zA-Z-]/', '', $_GET['adType']);
$realEstateType = preg_replace('/^[0-9a-zA-Z-]/', '', $_GET['realEstateType']);
$dioGrada = preg_replace('/^[0-9a-zA-Z-]/', '', $_GET['dioGrada']);
$squareFrom = preg_replace('/[^0-9]/', '', $_GET['squareFrom']);
$squareTo = preg_replace('/[^0-9]/', '', $_GET['squareTo']);
$priceFrom = preg_replace('/[^0-9]/', '', $_GET['priceFrom']);
$priceTo = preg_replace('/[^0-9]/', '', $_GET['priceTo']);
$roomsNum = preg_replace('/[^0-9]/', '', $_GET['roomsNum']);
// Change the defaults if not chosen
if($squareFrom == '') { $squareFrom = '0'; }
if($squareTo == '') { $squareTo = '10000000'; }
// Define the arguments for the WP query
$args = array(
'post_type' => 'post',
'relation' => 'AND',
'meta_query' => array(
array(
'key' => 'ex_lokacija',
'value' => $grad ,
'compare' => 'LIKE'
),
array(
'key' => 'ex_vrsta_oglasa',
'value' => $adType ,
'compare' => 'LIKE'
),
array(
'key' => 'ex_tip_nekretnine',
'value' => $realEstateType ,
'compare' => 'LIKE'
),
array(
'key' => 'ex_dio_pg',
'value' => $dioGrada ,
'compare' => 'LIKE'
),
array(
'key' => 'ex_dio_pg',
'value' => $dioGrada ,
'compare' => 'LIKE'
),
array(
'key' => 'et_square_footage',
'value' => array($squareFrom, $squareTo),
'type' => 'numeric',
'compare' => 'BETWEEN'
),
array(
'key' => 'et_price',
'value' => array($priceFrom, $priceTo),
'type' => 'numeric',
'compare' => 'BETWEEN'
)
)
);
$searched_posts = new WP_Query($args);
return $searched_posts;
}
$searched_posts = get_reviews_by_custom_search();
get_header(); ?>
<div id="content-top">
<div id="menu-bg"></div>
<div id="top-index-overlay"></div>
<div id="content" class="clearfix">
<div id="main-area">
<?php get_template_part('includes/breadcrumbs');
foreach ($searched_posts as $searched_post) {
echo "<h1 class=\"entry-title\"><a href=\"" . get_permalink($searched_post->ID) . "\">" . $searched_post->post_title . "</a></h1>";
echo "Rating - " . get_post_meta($searched_post->ID,'rating',true) . "<br>";
echo "Audience - " . get_post_meta($searched_post->ID,'audience',true) . "<br>";
echo "Length - " . get_post_meta($searched_post->ID,'length',true) . "<br>";
echo "<a href=\"" . get_permalink($searched_post->ID) . "\">Read More</a>";
}
?>
</div> <!-- end #main-area -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
我發現大部分的代碼在網上,我還在學習PHP。
第一部分是應該返回搜索到的帖子數組的函數。但是,部分代碼是錯誤的。
歡迎來到本網站!如果你在你的問題中加入了幾行你知道或懷疑錯誤的代碼,它可以更容易地得到很好的答案。請記住,您可以使用符號(位於QWERTY鍵盤上的1鍵左側)來包含您希望以不同方式顯示的內容(如代碼),以便它們脫穎而出。 – tmesser