自定义查询内容筛选

时间:2017-04-23 作者:barkhad

当我删除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>

1 个回复
SO网友:Mervan Agency

我想你的帖子makemodel 作为自定义字段,您希望检索与传递的makemodel 自定义字段。如果是这种情况,那么您的代码似乎是正确的。这可能是因为没有匹配的帖子,所以你不会得到任何结果。但是如果您想检索所有匹配的帖子makemodel 自定义字段值,然后您可能需要添加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

相关推荐

Media searching ignored

我们的网站使用WordPress,有很多媒体文件。我们网站的媒体名称格式如下[Car brand\'s name]-[number].jpg, 例如Tesla-1.jpg 或Aston Martin-3.jpg. 因此,我们可以通过搜索文章的名称轻松找到文章的特定媒体。但突然间,我们找不到媒体。我们正在尝试搜索名称为的媒体,但搜索结果不变。(不搜索任何内容时的媒体屏幕)(搜索Aston Martin时的媒体屏幕)当然,在填充搜索文本框后,它会显示一个加载图标,但结果总是一样的。为什么会发生这种情况?更新+