当我删除Meta\\u查询部分时,以下代码正在运行。但是,当我想要实现和使用搜索表单时,我已经将搜索表单变量传递给$args warable。这就是问题所在。没有要显示的内容。没有错误。请帮忙。
<html>
<head>
<title></title>
<?php wp_head();?>
</head>
<body>
<?php
if($_GET[\'make\'] && !empty($_GET[\'make\'])){
$make=$_GET[\'make\'];
}
if($_GET[\'model\'] && !empty($_GET[\'model\'])){
$model=$_GET[\'model\'];
}
//$model=$_GET[\'model\'];
?>
<form action="<?php the_permalink();?>" method="get">
<input type="text" name="make" placeholder="Make"/>
<input type="text" name="model" placeholder="Model"/>
<input type="submit" value="save"/>
</form>
<?php
$args= array(
\'post_type\'=>\'post\',
\'posts_per_page\'=>-1,
\'meta_query\' => array(
array(
\'key\' => \'make\',
\'value\' => $make,
\'compare\' => \'=\'
),
array(
\'key\' => \'model\',
\'value\' => $model,
\'compare\' => \'=\'
)
)
);
$loop=new WP_Query($args);
while($loop -> have_posts()): $loop -> the_post();
?>
<div>
<h3><?php the_title();?></h3>
<label><b>Make</b></label> :
<?php echo types_render_field("make");?></br/>
<label><b>Model</b></label> :
<?php echo types_render_field(\'model\');?></br/>
<label><b>Price</b></label> :
<?php echo types_render_field(\'price\');?>
<hr/>
</div>
<?php endwhile;wp_reset_query();?>
<?php wp_footer();?>
</body>
SO网友:Mervan Agency
我想你的帖子make
和model
作为自定义字段,您希望检索与传递的make
和model
自定义字段。如果是这种情况,那么您的代码似乎是正确的。这可能是因为没有匹配的帖子,所以你不会得到任何结果。但是如果您想检索所有匹配的帖子make
或model
自定义字段值,然后您可能需要添加relation
中的参数meta_query
作为relation
参数为AND
. 下面是如何添加relation
参数OR
在代码中。
\'meta_query\' => array(
\'relation\' => \'OR\',
array(
\'key\' => \'make\',
\'value\' => $make,
\'compare\' => \'=\'
),
array(
\'key\' => \'model\',
\'value\' => $model,
\'compare\' => \'=\'
)
)
查看以下链接获取有关使用的更多详细信息
meta_query
在里面
WP_Query
.
https://codex.wordpress.org/Class_Reference/WP_Query