wordpress 從 2.9 開始加入的自定義文章類型功能(custom post type),給二次開發(fā)帶來了很大方便,我們完全可以用 wordpress 構建更加復雜的站點。但是 wordpress 卻不能在后臺設置主頁和 rss 里默認的文章類型,這是一個硬傷。不過我們可以通過 wp 的內(nèi)部開發(fā)接口來修改默認文章類型。代碼很簡單,如下:
// 只需要改變首頁顯示的文章類型
add_filter( 'pre_get_posts', 'my_get_posts' );
function my_get_posts( $query ) {
if ( is_home() && !is_singular() && $query->is_main_query() )
$query->set( 'post_type', array( 'sentence' ) );
return $query;
}
如果除了首頁以外,你還需要改變 rss 里的文章類型的話,請把
if ( is_home() && $query->is_main_query() )
改成:
if ( (is_home() && $query->is_main_query()) || (is_feed() && !isset($_request['post_type'])) )