插件中的register_theme_directory无法正常工作

时间:2012-09-25 16:32:12

标签: wordpress plugins

我正在尝试在我的插件目录中注册一个主题文件夹,这样我就可以拥有页面和内容的“标准”主题。如果用户愿意,用户可以在自己的主题文件夹中覆盖这些内容,但至少有一个“骨架”供用户使用。

我发现了函数register_theme_directory(),但它似乎没有按预期工作。

这是我的代码:

add_filter('init', 'test_templates_dir');
function test_templates_dir(){
    $plugindir = dirname( __FILE__ );
    register_theme_directory($plugindir."/themefiles");
}

在我的$plugindir."/themefiles"目录中,我有一个名为tpl-directory.php的文件,在该模板文件中我有这个:

<?php
/*
 *Template name: Directory template
 */
?>

当我“添加新”页面时,这不会出现在可用模板列表中。

我做错了什么?有人知道吗?或者有没有人知道一个更好的方法来做我想要实现的目标?我已经读过没有过滤器或钩子来“手动添加模板文件”(虽然如果我能这样做的话,我会很高兴!)。

非常感谢!

1 个答案:

答案 0 :(得分:2)

很抱歉,但该功能只能使wp在该文件夹中查找更多主题,而不是页面模板。

显然,无法将页面模板添加到当前活动主题,但您可以捕获当前类型的内容以从插件内部加载特定模板,或者在激活时在当前主题内添加新模板文件

有关详细信息,请参阅此主题: WP - Use file in plugin directory as custom Page Template?

相关问题