仅搜索帖子元字段

时间:2013-08-13 作者:Stephan S.

我知道有很多很好的插件可以扩展wordpress搜索,但我想做的恰恰相反。我希望搜索只返回在某个帖子元字段中具有特定值的帖子<我该怎么做?

1 个回复
SO网友:tfrommen

我不太确定这是您想要的(因为它太……简单了),但您需要做的只是在搜索表单中添加以下输入:

<input type="hidden" id="meta_key" name="meta_key" value="YOUR-META-KEY">
<input type="hidden" id="meta_value" name="meta_value" value="YOUR-META-VALUE">
或者,如果要手动触发搜索,请执行以下操作:

$search = new WP_Query(array(
    \'s\' => \'YOUR-KEYWORD(S)\',
    \'meta_key\' => \'YOUR-META-KEY\',
    \'meta_value\' => \'YOUR-META-VALUE\'
));
// EDIT
如果要处理更复杂的设置,可能需要使用meta_query:

$search = new WP_Query(array(
    \'s\' => \'YOUR-KEYWORD(S)\',
    \'meta_query\' => array(
        \'key\' => \'YOUR-META-KEY\',
        \'value\' => \'YOUR-META-VALUE\'
    )
));
甚至

$search = new WP_Query(array(
    \'s\' => \'YOUR-KEYWORD(S)\',
    \'meta_query\' => array(
        array(
            \'key\' => \'YOUR-FIRST-META-KEY\',
            \'value\' => \'YOUR-FIRST-META-VALUE\'
        ),
        array(
            \'key\' => \'YOUR-SECOND-META-KEY\',
            \'value\' => \'YOUR-SECOND-META-VALUE\'
        )
    )
));

结束

相关推荐

Search Post Title Only

我正在使用标准WordPress搜索表单搜索自定义帖子类型。这是我的代码:<form role=\"search\" method=\"get\" id=\"searchform\" action=\"<?php echo home_url( \'/\' ); ?>\"> <input type=\"hidden\" name=\"post_type\" value=\"attorney\" /> <input type=\"text\" valu