不带插件的页面模板筛选器

时间:2016-12-30 作者:James

我正在构建一个自定义主题,它有大量的模板。我创建了一个选项页面,允许用户启用他们希望使用的页面模板。计划是创建一个函数来循环遍历模板,并添加已启用的模板。我在创建插件时使用以下函数,但插件中没有使用此函数。我需要像下面的代码一样的东西才能在函数中工作。php文档。

add_filter( \'page_template\', \'template_selection\' );
function template_selection( $page_templates ){
    $templates = get_option(\'templates\');
    if(in_array(\'1\',$templates)){$page_template[] = dirname( __FILE__ ) . \'/template1.php\';}
    if(in_array(\'2\',$templates)){$page_template[] = dirname( __FILE__ ) . \'/template2.php\';}
    return $page_templates;
}
这里的问题是过滤器不工作。非常感谢您对此事的任何帮助。

1 个回复
SO网友:James

经过一些挖掘,我发现了一个更好的函数,它允许您直接修改模板列表

function page_templates( $templates ) {
    $templates[\'temp/template1.php\'] = \'Full Width Template\';
    return $templates;
}
add_filter( \'theme_page_templates\', \'page_templates\' );

相关推荐