wordpress 從 2.9 開(kāi)始加入的自定義文章類(lèi)型功能(custom post type),給二次開(kāi)發(fā)帶來(lái)了很大方便,我們完全可以用 wordpress 構(gòu)建更加復(fù)雜的站點(diǎn)。但是 wordpress 卻不能在后臺(tái)設(shè)置主頁(yè)和 rss 里默認(rèn)的文章類(lèi)型,這是一個(gè)硬傷。不過(guò)我們可以通過(guò) wp 的內(nèi)部開(kāi)發(fā)接口來(lái)修改默認(rèn)文章類(lèi)型。代碼很簡(jiǎn)單,如下:
// 只需要改變首頁(yè)顯示的文章類(lèi)型
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;
}
如果除了首頁(yè)以外,你還需要改變 rss 里的文章類(lèi)型的話(huà),請(qǐng)把
if ( is_home() && $query->is_main_query() )
改成:
if ( (is_home() && $query->is_main_query()) || (is_feed() && !isset($_request['post_type'])) )