2011-02-02 139 views
0

我是一个使用WordPress的新手,并且正在尝试修改标准SQL调用以使自定义字段数据帖子能够按类别进行限制。下面是我在我的基础上的尝试,但我无法弄清楚如何这样的循环之前适合15类在一个类别中获取Wordpress帖子,按自定义字段排序

$querystr = "SELECT wposts.* 
    FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta 
    WHERE wposts.ID = wpostmeta.post_id 
     AND wpostmeta.meta_key = 'priority' 
     AND wposts.post_type = 'post' 
     AND wposts.post_status = 'publish' 
     AND wposts. 
    ORDER BY wpostmeta.meta_value ASC"; 

回答

2

使用query_posts过滤:

query_posts('meta_key=priority&order=ASC&orderby=meta_value&cat=15&post_type=post&post_status=publish'); 

meta_key=priority - >显示与某个(优先级)自定义字段关联的帖子。

order=ASC - >言自明

orderby=meta_value - >排序检索由meta_value字段

cat=15帖 - 具有此类别(和该类别中的任何的儿童)>显示文章,使用类别ID 15

此外,您可以使用cat=15,4显示类别15和4或category_name=staff,test中的帖子,以显示员工和测试类别中的帖子。

More info about using query_posts,通常您可以使用query_posts回顾构建查询的任何类型的帖子。无法使用query_posts时,请使用普通SQL。

+0

我喜欢你分解每一个参数来解释他们做什么,很好的答案。 +1 :) – t31os 2011-02-02 16:12:38

0

阅读WordPress Codex文章中的Query based on Custom Field and Category部分使用自定义选择查询显示帖子。尝试下次使用Google搜索!

编辑:正如poelinca指出的那样,如果您没有高度自定义或复杂的查询,请考虑使用query_posts()

相关问题