2010-06-24 19 views
1

我正在尋找一種方法來獲取WordPress的基於自定義分類法查詢將來發布的帖子。尋找未來的職位是 否則,簡單是否可以使用Wordpress API(query_posts,WP_Query,get_posts等)來獲取基於自定義分類的未來帖子?

query_posts('post_status=future'); 

但加入了自定義分類不能按預期工作

query_posts('musicians=paul-mccartney&post_status=future'); 

我結束了使用WPDB $和手寫的SQL和加盟條件,分類和關係表一起。

$sql = "SELECT post.* 
    FROM {$wpdb->prefix}terms term 
    JOIN {$wpdb->prefix}term_taxonomy taxonomy 
    JOIN {$wpdb->prefix}term_relationships relationship 
    JOIN {$wpdb->prefix}posts post 
    WHERE term.term_id = taxonomy.term_id 
    AND relationship.term_taxonomy_id = taxonomy.term_taxonomy_id 
    AND term.slug = '%s' 
    AND taxonomy.taxonomy = '%s' 
    AND post.ID = relationship.object_id"; 

if($posts = $wpdb->get_results($wpdb->prepare($sql, $term->slug, $term->taxonomy))):  
    foreach($posts as $post): 
    setup_postdata($post); 
    the_ID().' '.the_title().'\n<br/>'; 
    endforeach; 
endif; 

這工作,但我希望有來完成同樣的方式,但使用WP API(query_posts,WP_Query,get_posts等)!

+0

你使用的是什麼DBMS? – MaasSql 2010-06-24 22:18:49

+0

對我來說工作正常 - 你傳遞給'register_taxonomy'的參數是什麼? – TheDeadMedic 2010-06-25 09:41:03

+0

register_taxonomy( '精彩', '後', 陣列( '分層'=>假, '標籤'=> '活動地點,價格和類型......', 'query_var'=>真實, 「重寫'=>假 ) ); – seanb123 2010-06-30 14:42:09

回答

1

是的,你可以。

$events = get_posts('numberposts=-1&post_type=events&musicians=paul-mccartney&post_status=future&order=ASC'); 
foreach($events as $event){ 
    setup_postdata($event); 
    echo '<a href="'.get_permalink($event->ID).'">'.$event->post_title.'</a>'; 
} 

可以使用相同參數, http://codex.wordpress.org/Function_Reference/WP_Query#Parameters

相關問題