将元主题从主主题移植到子主题后的文件路径问题

时间:2014-11-10 作者:sam

我有一个为我正在移植的另一个站点编写的自定义元数据库,最初它是直接写在主题上的(而不是使用子主题)。

metabox本身是使用wpalchamey metabox框架开发的。

如果我将文件移植到主主题中,元框就可以正常工作,但当我将其移植到子主题中时,90%都可以工作,包括包含<div> 以及元数据库/邮箱的标题(但不是实际的表单输入);这些视图也可以使用。

我猜这与引用的文件、includes等有关,他们是否试图在中查找文件maintheme/lib/metabox 他们应该在哪里寻找maintheme-child/lib/metabox.

过去一个小时左右,我一直在四处走动,看不出问题出在哪里;有什么办法可以解决这个问题吗?

另外,我正在使用WP4。0

1 个回复
SO网友:sam

我自己找到了答案,这个问题与一行请求metabox内容有关(正如预期的那样)。线路:

\'template\' => get_template_directory() . \'/lib/metaboxes/custom_textbox.php\',
应更改为:

\'template\' => get_stylesheet_directory() . \'/lib/metaboxes/custom_textbox.php\',
根据(WordPress Codex)将获得主主题的路径。如果您想访问子主题URl(即使您的URl显然位于子主题中),您必须使用get_stylesheet_directory() (我个人觉得函数名有点令人困惑,因为它是一个子主题目录,可以用于更多的用途,而不仅仅是自定义样式表)。

进一步阅读法典:get_template_directory(), get_stylesheet_directory()

结束

相关推荐

如何为特定类别的帖子添加Metabox

我想为category=18的帖子添加Metabox,我正在使用以下代码,但无法这样做。所以请帮帮我-> add_action(\'admin_init\',\'my_meta_init\'); function my_meta_init() { $post_id = $_GET[\'post\'] ? $_GET[\'post\'] : $_POST[\'post_ID\'] ; // checks for post/page I