簡體   English   中英

是否可以使用Wordpress API(query_posts,WP_Query,get_posts等)基於自定義分類法來獲取將來的帖子?

[英]Is it possible to use the Wordpress API (query_posts, WP_Query, get_posts etc) to fetch future posts based on a custom taxonomy?

我正在尋找一種方法來獲取Wordpress中基於自定義分類法查詢將來發布的帖子。 否則,查找將來的帖子很簡單

query_posts('post_status=future');

但是添加自定義分類法並不能按預期工作

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

我最終使用$ wpdb並手工編寫了SQL,並將terms,分類法和關系表連接在一起。

$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等)!

是的你可以。

$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中相同的參數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM