通常在我的主题函数文件中,我需要其他文件来保持整洁。
require_once("foo.php");
现在在儿童主题中工作,我也想这样做。我正在添加自定义管理选项,似乎不可能包含代码。我已经回显了路径,以确保我调用的文件是正确的,它调用的位置是正确的,但该文件中似乎没有任何内容运行。如果将代码放在子主题函数文件中,则代码运行良好。通常在我的主题函数文件中,我需要其他文件来保持整洁。
require_once("foo.php");
现在在儿童主题中工作,我也想这样做。我正在添加自定义管理选项,似乎不可能包含代码。我已经回显了路径,以确保我调用的文件是正确的,它调用的位置是正确的,但该文件中似乎没有任何内容运行。如果将代码放在子主题函数文件中,则代码运行良好。子主题按目录名引用父主题,在正常安装中,所有主题都位于其中wp-content/themes/
, 所以我想说,可以通过它们的相对路径来引用这些主题:
include \'../parent-theme/some-file.php\';
如果这让您感到不舒服,我在WordPress 3.0.1中观察到以下常量,其中有一个名为tt child的二十个儿童主题:TEMPLATEPATH /home/adam/public_html/wp3/wp-content/themes/twentyten
STYLESHEETPATH /home/adam/public_html/wp3/wp-content/themes/tt-child
因此,您可以在子主题中执行以下操作以引用父主题目录:include TEMPLATEPATH . \'/some-file.php\';
在儿童主题中,正确的方式是
require_once( get_stylesheet_directory() . \'/foo.php\');
在父主题中,您仍然可以使用require_once ( get_template_directory() . \'/foo.php\' );
get_template_directory()
仍然在子主题中工作,遗憾的是,目标是父主题目录。对你来说很有用您肯定不想硬编码URL。正确的做法是
require_once( get_stylesheet_directory(). \'/my_included_file.php\' );
查看更多信息Wordpress Codex现在,如果您正在修改标题。php包含一个include,您可以参考它,如下所示:
require_once( get_stylesheet_directory() . \'/../parenthteme/my_included_file.php\' );
你好@curtismchale:
不知道这是不是,但你需要在周围加引号foo.php
, 像这样:
require_once(\'foo.php\');
这能解决你的问题吗?使用<?php get_template_part( \'name-the-page-here\' ); ?>
.没有扩展。php
在主题的functions.php
或者在插件开发中使用dirname(__FILE__)
.
在您的情况下,只需要:
require_once dirname(__FILE__)."/foo.php";
如果需要的文件位于其他文件夹中,inc
例如,您可以这样说:require_once dirname(__FILE__)."/inc/foo.php";
希望这对将来的人有所帮助。完全可以正常地在functions.php
.
我在我的孩子主题中这样做(php
是代码的子目录):
include \'php/core.php\';
如果您有没有明显原因的问题,请尝试在中启用调试模式wp-config.php
:define(\'WP_DEBUG\', true);
可能发生了相关错误,但未显示。我认为这是获得孩子主题路径的最佳方式
<?php $get_my_path = dirname( get_bloginfo(\'stylesheet_url\') ); ?>
<?php require_once( $get_my_path. \'/my_included_file.php\' ); ?>
从中获取想法http://dynamicweblab.com/2013/02/get-template-path-in-wordpress-child-themes/