我制作了一个插件template_redirect
对于自定义帖子类型squeezepages
它工作得很好,但我复制了完全相同的代码,将其放入一个新的插件中,激活了它(只做了一些小的调整,例如,我将自定义帖子类型改为newpages
还有template_redirect
是从另一个来源获取模板)而突然不起作用?
我可以同时激活两个插件,压缩页面可以工作,新页面不能。这让我很困惑。我甚至禁用了挤压页面插件,但它仍然不起作用。我尝试了所有的组合(只有几个),但仍然没有。似乎它没有任何理由起作用。我已经盯着同一个代码看了两个小时了,但我没能弄明白。
以下是我自定义帖子类型的代码:
add_action( \'init\', \'ifp_create_post_type\' );
function ifp_create_post_type() {
register_post_type( \'newpages\',
array(
\'labels\' => array(
\'name\' => __( \'New Pages\' ),
\'singular_name\' => __( \'New Page\' )
),
\'public\' => true,
\'menu_position\' => 5,
\'rewrite\' => true,
\'rewrite\' => array(\'slug\' => \'newpage\', \'with_front\' => FALSE),
\'supports\' => array(\'title\', \'editor\', \'excerpt\', \'trackbacks\', \'custom-fields\', \'comments\', \'revisions\', \'thumbnail\', \'author\', \'page-attributes\')
)
);
}
还有我的
template_redirect
:
function ifp_default_template() {
if(get_post_type() == \'newpages\') : global $wp_query, $post, $posts;
include(PLUGINDIR . \'/newpage/themes/default.php\');
exit; endif;
}
add_action(\'template_redirect\', \'ifp_default_template\');