不太确定您想从描述中获得什么,但如果您想在循环中使用自定义帖子类型,请执行以下操作:
// Add the \'your_post_type\' postype to the loop.
add_action(\'pre_get_posts\', function(WP_Query $query){
if(is_admin() or is_preview()){
return;
}
// Only add them to the loop on Home/Front-Page
if((is_home() or is_front_page()) and empty($query->query_vars[\'suppress_filters\']){
// This has to be an array so fix it if required
$post_types = $query->get(\'post_type\');
if(empty($post_types)) $post_types = array(\'post\');
elseif(is_string($post_types)) $post_types = array($post_types);
// Add one or more CPT-s to the loop here (merge old with new)
$query->set(\'post_type\', array_merge($post_types, array(
\'your_post_type\',
// \'another_post_type\',
// \'maybe_another_post_type\',
)));
}
return;
});
自定义post类型在使用时需要更多的手动调整。您不仅需要启用它们,还需要列出它们或将它们添加到循环中,创建存档(或至少链接到存档)。
PS: 代码使用PHP 5.3+闭包。将自己转换为PHP 5.2,作为赋值:)