為您的佈景主題增添「同分類文章」
「同分類文章」在這邊指的是當您在瀏覽某篇文章時,順便將這篇文章所屬同分類的文章以其文章標題的方式條列出來。如果您想把它置於文章迴圈中的話,跟「隨機文章」一樣,它不能置於「評論模板」前。也就是說,如果您想將它放在文章與評論之間的話,依舊要使用定位的方式。
如果您想條列出同分類文章時,需要那些東西呢?當然最重要的是要有一個「條件式」來判斷這篇文章是否有符合條件,如果符合條件的話,就列出可鏈結的同分類文章標題出來,如果不符合條件的話,就繼續往下執行,假設條件統統不符合的話,那什麼事也都不會發生。而我們要用條件式標籤是 in_category() 而不是 is_category()。
其次,您需要知道您分類的 ID 數字號碼,這個可以在後台看到(管理分類頁面),將滑鼠游標指向分類名稱,在瀏覽器的狀態列就可看到該分類的 ID 號碼。
當然啦,如果您有多個文章分類的話,建議您先將這些「條件式」存成另外一個自定檔案名稱的檔案(例如 in_category.php ),然後於您佈景主題想要顯示的位置上,貼上以下的語法:
<?php include(TEMPLATEPATH."/in_category.php");?>
然後在 in_category.php 檔案中,為每個分類加上如下的語法:
<?php if ( in_category('6') ) { ?>
<?php $posts = get_posts( "category=6&numberposts=5" ); ?>
<?php if( $posts ) : ?>
<h2>近期同分類的五篇文章</h2>
<ul>
<?php foreach( $posts as $post ) : setup_postdata( $post ); ?>
<li><a href="<?php the_permalink() ?>" title="閱讀這篇《<?php the_title(); ?>》"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php } ?>
假設您有 10 個分類,如上的形式就要寫 10 次,須注意的是:第一列中的 in_category('6') 與第二列中的 category=6 其號碼須一致,因為那是分類 ID。而 numberposts=5 則表示您要顯示多少篇文章,如果顯示 10 篇的話,那就是 numberposts=10。
如果有需要將文章從舊到新由上而下排列時,則於第二列中的參數加上 order=ASC。
例如:
<?php $posts = get_posts( "category=6&numberposts=5&order=ASC" ); ?>