如果您想自定义搜索页面并允许搜索自定义字段,您可以轻松实现此目的。在下面的示例中,我们使用了 2 个自定义字段。该示例用于业务目录。每个企业都有一个自定义字段用于其贸易及其所在城市。默认的 wordpress 搜索不附带额外的表单字段,但您可以按照此为使用自定义字段的 WordPress 网站创建自定义搜索。
您需要做的第一件事是将附加字段添加到表单中。
我们要做的是为每个值添加两个表单字段。就我而言,我正在跟踪贸易和城市。
因此,您可以访问此链接以创建表单字段。
创建表单字段并为其命名后,转到 search.php 文件并将新值捕获到变量 $_GET['your field name'];
$trade = $_GET['trade'];
$city = $_GET['city'];
然后,您可以将这些值传递给您的查询,其中键 = 自定义字段名称和值 = 变量 –</p>
$args = array(
'meta_query' => array(
'relation' => 'AND',
array(
'key' => business_trade,
'value' => $trade,
),
array(
'key' => business_city,
'value' => $city,
)
)
);
完整代码如下。
<?php
$trade = $_GET['trade'];
$city = $_GET['city'];
if ($trade && $city) {
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'meta_query' => array(
'relation' => 'AND',
array(
'key' => business_trade,
'value' => $trade,
),
array(
'key' => business_city,
'value' => $city,
)
)
);
query_posts($args);
} else {
query_posts('posts_per_page=4');
}
if ($trade && $city) { ?>
<h3>Your Search For <?php echo $trade; ?> and <?php echo $city; ?></h3>
<?php } else { ?>
<h3>Title</h3>
<?php } if(have_posts()) : ?>
<?php while(have_posts()) : the_post()
?>
<p class="no_percentage"><?php echo excerpt(15); ?> </p>
<span class="readmore" ><a href="<?php the_permalink(); ?>" > <?php _e('read more');?> </a> </span>
<?php endwhile; ?>
<?php else: ?>
<p class="notice_msg"><?php _e( 'Sorry, but nothing matched your search criteria.'); ?></p>
<?php endif; ?>