昨天我问了这个问题,但我没有得到答案。所以我认为人们不理解我的问题。所以我在这里编辑并详细解释它:
我的WordPress有一个帖子类型的产品
我的产品有2个自定义字段名称Color&位置产品还启用了Category&标签字段。
现在我的搜索看起来像这样:
<form action="/" method="get">
<label>Keyword: </label> <input type="text" name="s" placeholder="Keyword"> <br />
<label>Color: </label> <input type="text" name="color" placeholder="Color"> <br />
<label>Location: </label> <input type="text" name="location" placeholder="Location"> <br />
<label>Category: </label> <select name="category"><option value="1">Shirt</option><option value="1">Pant</option><option value="1">Pajama</option></select> <br />
<label>Tags: </label> <input type="text" name="location" placeholder="Tags"> <br />
<input type="Submit" value="Search">
</form>
因此,如果有人在关键字字段中键入衬衫并在颜色字段中写入红色,则搜索结果将按标题&amp;中的衬衫显示帖子。来自任何类别的meta_key中的红色..
如果人们留下空白关键字字段并输入红色&amp;孟加拉国的Color&amp;位置字段然后只有包含Red&amp;的帖子。孟加拉国任何类别的Meta值。
因此,人们可以按颜色,位置,类别和范围过滤搜索。标签
我尝试在search.php中使用这种搜索查询但不起作用。
<?php
$color = $_GET['color'];
$location = $_GET['location'];
$args = array(
'post_type' => 'any',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => color,
'value' => $color,
),
array(
'key' => location,
'value' => $location,
)
)
);
?>
<h3>Your Search For <?php echo $color; ?> <?php if(!empty($location) OR isset($location) OR $location !== NULL ){echo '';} else { echo "and".$location; } ?></h3>
<?php $query = new WP_Query( $args ); if(have_posts()) : ?>
<?php while(have_posts()) : the_post() ?>
<h3><?php the_title(); ?></h3>
<?php if(get_field('color')): ?>
<b>Color:</b> <?php the_field('color'); ?>
<?php endif; ?>
<?php if(get_field('location')): ?>
<b>Location:</b> <?php the_field('location'); ?>
<?php endif; ?>
<?php endwhile; ?>
<?php else: ?>
<p class="notice_msg"><?php _e( 'Sorry, but nothing matched your search criteria.'); ?></p>
<?php endif; ?>
请帮帮我一个人。我真的需要这个帮助。
谢谢
答案 0 :(得分:1)
您需要更正Add-AzureAccount
中的颜色和'key' => color,
中的位置,它们应该是'color'和'location'之类的字符串,否则它们将被视为常量,同时在每个中添加compare参数标准。
e.g。
'key' => location