2011年12月13日星期二

[WordPress-Hack] List Category Posts

近來想重整一下自己的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('&laquo; Previous') ?></div>
  <div><?php next_posts_link('Next &raquo;') ?></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的話題。

沒有留言:

發佈留言