2013-05-05 46 views
0

我試圖把我的博客內容放入引導標籤,其中每個標籤是一個類別,所以它是一種過濾器。Wordpress query_post變量類別

一切工作正常,但我無法動態分類標籤上的類別帖子。

這是我的第一個代碼,在那裏我做的標籤獲取當前的類別:(這裏都好)

<ul id="catstab" class="nav nav-tabs nav-stacked cat_list"> 
<?php $categories = get_categories(); { 
    foreach($categories as $category){     
    echo "<li><a href='#" . $category->slug . "' data-toggle='tab'>" . $category->name . "</a></li>"; 
    } // end foreach 
    } 
    ?>      
</ul> 

然後我爲每一個內部循環每個標籤的容器:(都好這裏太)

<div id="cattabscontent" class="tab-content"> 
    <?php foreach (get_categories(array('hide_empty'=>false)) as $category) 
    { 
     echo '<div class="tab-pane fade" id="' . $category->slug . '">'; 
     echo get_template_part("loop"); 
     echo '</div>'; 
    } ?>  

</div> 

最後,這是我的循環的query_post,這是我有問題,我需要在這裏是爲了給類變量($ current_cat)當前類別的價值,所以它會在每個標籤上獲得正確的帖子。

<?php query_posts(array(
    'category_name' => '$current_cat', 
)); 
?> 
<?php if (have_posts()): while (have_posts()) : the_post(); ?> 
. . . 

我曾經想過給可變他的父母的ID的價值,但我認爲它僅使用PHP是不可能的,我不知道該怎樣它使用AJAX或類似的東西做的想法。

有什麼想法?

回答

1

請勿在變量名稱周圍使用單引號,請使用雙引號。單引號將被解釋爲不會擴展到變量的值,因此echo '$var';會給你準確的$var。在設置category_name參數時,您的代碼應使用雙引號或不使用引號,前提是$current_cat等於您要查詢的名稱。

雙引號

'category_name' => "$current_cat", 

沒有引號

'category_name' => $current_cat, 
0

嘗試使用category__in參數如下:

<?php query_posts(array(
    'category__in' => '$current_cat_id', 
)); 
?> 
<?php if (have_posts()): while (have_posts()) : the_post(); ?> 

參數category__in顯示有這個類別的帖子,而不是那個類別的子女。在這種情況下,您將不得不使用類別ID。

另一方面,您正在使用的參數category_name顯示此類別的和該類別的任何子類的帖子。