程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> wordpress如何顯示多個分類的文章

wordpress如何顯示多個分類的文章

編輯:PHP基礎知識
 

顯示多個分類下的文章可以這樣提取:
<?php query_posts(array('posts_per_page'=>10,'orderby'=>'rand','category__and'=>array(67,70)));?>
<?php if(have_posts()):while(have_posts()):the_post(); ?>
 <li><span class="grayz">· </span><a href="<?php the_permalink(); ?>" target="_blank" class="ab"><?php echo cut_str($post->post_title,45); ?></a></li>
 <?php endwhile;?>
 <?php else:?>
 <p>Sorry,no posts matched your criteria.</p>
  <?php endif;wp_reset_query();?>

首先把要讀取的分類目錄的ID找出,放在array數組中。

借助強大的query_posts函數實現隨機(’orderby’ => ‘rand’)讀取十篇(’showposts’ =>10)在指定分類目錄(’category__in’ => array(7,17))下的文章。

最後調用wp_reset_query();因為query_posts指定規則後不止是對它下一個LOOP生效,可能導致全站其他LOOP調用失效,wp_reset_query可以用來清空wp_query規則。

下面詳細介紹wordpress下使用率最高的分類目錄系列參數( 注意:下劃線是“__”不是“_”):
cat:分類ID

根據ID顯示單個分類

舉例:分類ID4(以及該分類目錄下的子分類目錄)的文章:
query_posts('cat=4');
 

根據ID顯示多個分類

舉例:分類ID1、2、3下的文章:
query_posts('cat=1,2,3');

排除某一分類中的文章
 

舉例:顯示除分類ID為3的文章外的所有文章,被排除的分類ID以減號(’-')作為前綴。
 

query_posts('cat=-3');

category_name:分類名稱
 

query_posts('category_name=Staff Home');

category__and:同時存在於多個分類裡
舉例:既是分類ID1,也是分類ID5的文章:

query_posts(array('category__and' =>  array(1,5)));

舉例:獲取當前分類與分類ID5的文章
query_posts(array('category__and'=>array(get_cat_id(single_cat_title('',false)),5)));

single_cat_title():用於顯示或返回當前頁面的分類名稱,不能用於LOOP循環。有兩個參數可以使用。前綴$prefix用於在分類名稱前加入相應的內容,比如文字、圖片等,例句中就是在分類名稱前加入了“當前分類:”。是否顯示$display,是布爾值,為TRUE則直接用於顯示標題,而FALSE則用於PHP操作,下面例句將最能說明問題。(如果使用了漢字,請用 UTF8格式保存,使用ANSI時,漢字為亂碼)。

get_cat_ID():用於獲取指定分類的ID,參數只有一個$cat_name,如果錯誤返回0,否則返回分類ID。這裡拿做讀取當前分類列表裡的例子作為說明。.’<br />’是為了方便查看效果而設置的換行。第一句是獲取分類ID的關鍵所在。這句話只能使用在是分類的頁面中,也就是is_category為返回為真(1)才能生效。

category__in:存在於一系列分類之中
舉例:屬於分類ID1或分類ID5的文章:

query_posts(array('category__in' =>  array(1,5)));

category__not_in:不存在一系列分類之中
舉例:不屬於分類ID1,且不屬於分類ID5的文章:

query_posts(array('category__not_in' => array(1,5)));

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved