2013-05-21 76 views
0

我想從使用query_posts的類別檢索帖子,但它從未指定的類別返回帖子,其他參數如sort和showposts工作正常。Wordpress query_posts從未指定的類別返回帖子

extract(shortcode_atts(array(
      'categories' => 'Partners', 
      'imageswidth' => '200px', 
      'imagesheight' => '115px', 
      'imageslink' => 'Web_Link', 
      'partnerscount' => 'All', 
      'columnscount' => 1, 
      'imagescrop' => 'No', 
      'imagesblackhovercolor' => 'No', 
      'imagesopacity' => 100, 
      'imagesgrayscale' => 'No', 
      'imagescolorize' => '', 
      'imagesnegative' => 'No', 
      'imagessort' => 'Date ASC' 
     ), $atts)); 

     //$args = "category_name=".categories; 
     //$catIDs = get_cat_ID($cat_name='Partners'); 

     $args = "cat_name=".categories; 
     $args .= strtolower($partnerscount) != "all" ? "&showposts=".$partnerscount : ''; 
     $args .= $imagessort == "Date_ASC" ? "&orderby=date&order=ASC" : ''; 
     $args .= $imagessort == "Date_DSC" ? "&orderby=date&order=DESC" : ''; 
     $args .= $imagessort == "Random" ? "&orderby=rand" : ''; 



     query_posts($args); 

while (have_posts()) : the_post(); 
     { 
$output = $output.get_the_title(); 
} 

回答

1

據WordPress的文件(http://codex.wordpress.org/Class_Reference/WP_Query#Category_Parameters

爲了顯示從某一類的帖子,你可以使用下一個參數:

貓(INT) - 使用類別ID。

category_name(string) - 使用類別slug(NOT name)。

category__and(array) - 使用類別ID。

category__in(array) - 使用類別ID。

category__not_in(array) - 使用類別ID。

正確的參數是:category_name而不是cat_name。 更換:

$args = "cat_name=".categories; 

有:

$args = "category_name=".$categories; 

雖然Partners是該類別的slug,應該解決您的問題。

編輯1:

請注意,你沒有$符號寫categories。 PHP將它視爲已定義的而不是變量。 嘗試此行: $ args =「category_name =」。$ categories;

編輯2: 如果無法獲取類別的蛞蝓, 試圖通過它的名字得到它的ID。

$catID = get_cat_ID($categories); 
    $args = "cat=".$catID; 
+0

當我嘗試CATEGORY_NAME它不會返回所有 –

+0

東西顯然,'Partners'不是類的金屬塊。 –

+0

編輯我的答案,嘗試Edit1&Edit2建議。 –

相關問題