2012-05-27 39 views
2

这是我想要实现的:通过元数据的WordPress搜索

我有一个自定义搜索表单来搜索基于各种元数据的帖子。

此代码包含WordPress搜索的设置:http://pastebin.com/5dj16Atj 对自定义字段的引用都在其中。

此代码是上述文件中引用,并包含自定义搜索表单的实际布局:http://pastie.org/private/yebozm9kaqazywkilr8fkq

我的主要问题是,只有3场的自定义搜索形式,即工作;价格范围和面积。其余字段(例如属性类型(srch_ptype),年龄(srch_age)和City)在搜索中不会显示为条件。我希望所有的字段都能正常工作,并且在人们搜索时将其作为标准。 请看看这两个文件,看看我得到了什么错误。

非常感谢。

编辑: adomnom很友善地建议我使用wp_query进行搜索。如果有人能告诉我如何将搜索表单与查询连接起来,我将不胜感激。

+0

的可能重复[WordPress的搜索代码] (http://stackoverflow.com/questions/10754077/wordpress-search-code) – markratledge

+0

还有什么贡献?我仍然需要帮助。 – 3ph

回答

2

我在这一个markratledge。我建议您查看get_posts()query_posts(),甚至可以用特殊的钩子覆盖默认的WordPress搜索。

你应该能够做到像...


定义搜索(更多在WP_Query Page)的参数并运行它

$searchArgs = array(
    'post_type' => 'post', 
    'meta_query' = array(
     'relation' => 'AND', 
     array('key' => 'srch_age', 'value' => $_REQUEST['srch_age']), 
     array('key' => 'srch_ptype', 'value' => $_REQUEST['srch_ptype']) 
     // ... Add as many other criteria as you need 
    ) 
); 

query_posts($searchArgs); 
while(have_posts()): the_post(); 
... 
+0

谢谢adomnom!你的是我得到的第一个有用的答案。 你能提供关于如何在wp_query中使用搜索表单的更多指导吗?我很抱歉,但我在使用WordPress方面很新颖,最初的编码是由其他人完成的,但我愿意学习。 – 3ph

+0

嗨,大家好,我仍然希望能在这里获得更多信息。任何人都可以请帮忙提供更多信息吗? – 3ph

+0

你好@adomnom,我试过你的建议。这里是我的代码: <?php $ posts = query_posts($ query_string。 '&posts_per_page = 5','post_type = post'); ?> \t

结果

'后', 'meta_query'=阵列( “关系''>'AND', array('key'=>'srch_age','value'=> $ _REQUEST ['srch_age']), array('key'=>'srch_ptype','value'=> $ _REQUEST ['srch_ptype']) ) ); query_posts($ searchArgs); (have_posts()):the_post(); ?> 它仍然不搜索自定义字段 – 3ph