近來想重整一下自己的Blog,其中一樣就是整理一下文章,刪除一些我認為不應該在這裡出現的Blog Post(或許只是當時一時衝動地Publish..),以及增加以下要說的文章目錄。
其實一開始用WordPress到現在都察覺有一個問題,就是用Categories進入或由Tag進入文章分類,佈局會很難看,或者是我選的Theme問題,又或者是我沒有做調整美化工作。
但無論如何,我都想做一個只有Title的目錄。
上網找相關參考,第一個就找到WP的Plugin -
List category posts,老實說,安裝過後,這個Plugin是不錯的,基本上已經滿足我要求。
但再多看以下兩個網,又打消我依賴Plugin的念頭,原因離不開自己DIY的滿足感較高。
wp Codex - Class Reference/WP Query
4 Ways to Loop with WordPress
先看看Demo :
http://webapp.heliohost.org/cms/wordpress/ListCategoryPosts_v1.php
這裡列出未分類的所有Blog Posts。
而PHP Code如下 :
<?php
require_once ('wp-load.php');
require_once ('wp-blog-header.php');
?>
<h3>Recent Articles</h3>
<ul>
<?php
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
$wp_query = new WP_Query('post_type=post&post_status=publish&posts_per_page=20&paged=' . $paged . '&orderby=date&order=DESC');
?>
<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
<div>
<div><?php previous_posts_link('« Previous') ?></div>
<div><?php next_posts_link('Next »') ?></div>
</div>
<?php
wp_reset_postdata();
wp_reset_query();
?>
就是這麼簡單,何必要使用Plugin? 使用WP_Query已經綽綽有餘,只是CSS,Style欠奉。
如果想分類,做更多Filtering的話,可以參考
wp Codex - Class Reference/WP Query。
若然WP_Query提供的Filter還未夠,你大可以直接用SQL,但當然這已經完全偏離WordPress的話題。