包括子主题函数文件中的文件

时间:2010-10-26 作者:curtismchale

通常在我的主题函数文件中,我需要其他文件来保持整洁。

require_once("foo.php");
现在在儿童主题中工作,我也想这样做。我正在添加自定义管理选项,似乎不可能包含代码。我已经回显了路径,以确保我调用的文件是正确的,它调用的位置是正确的,但该文件中似乎没有任何内容运行。如果将代码放在子主题函数文件中,则代码运行良好。

8 个回复
最合适的回答,由SO网友:Annika Backstrom 整理而成

子主题按目录名引用父主题,在正常安装中,所有主题都位于其中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\';

SO网友:Christian

在儿童主题中,正确的方式是

require_once( get_stylesheet_directory() . \'/foo.php\');
在父主题中,您仍然可以使用

require_once ( get_template_directory() . \'/foo.php\' );
get_template_directory() 仍然在子主题中工作,遗憾的是,目标是父主题目录。对你来说很有用

SO网友:Marlyse Comte

您肯定不想硬编码URL。正确的做法是

require_once( get_stylesheet_directory(). \'/my_included_file.php\' );
查看更多信息Wordpress Codex

现在,如果您正在修改标题。php包含一个include,您可以参考它,如下所示:

require_once( get_stylesheet_directory() . \'/../parenthteme/my_included_file.php\' );

SO网友:MikeSchinkel

你好@curtismchale:

不知道这是不是,但你需要在周围加引号foo.php, 像这样:

require_once(\'foo.php\');
这能解决你的问题吗?

SO网友:Everaldo Matias

使用<?php get_template_part( \'name-the-page-here\' ); ?>.没有扩展。php

SO网友:Karue Benson Karue

在主题的functions.php 或者在插件开发中使用dirname(__FILE__).

在您的情况下,只需要:

require_once dirname(__FILE__)."/foo.php";
如果需要的文件位于其他文件夹中,inc 例如,您可以这样说:

require_once dirname(__FILE__)."/inc/foo.php"; 
希望这对将来的人有所帮助。

SO网友:Rarst

完全可以正常地在functions.php.

我在我的孩子主题中这样做(php 是代码的子目录):

include \'php/core.php\';
如果您有没有明显原因的问题,请尝试在中启用调试模式wp-config.php:

define(\'WP_DEBUG\', true);
可能发生了相关错误,但未显示。

SO网友:Maidul

我认为这是获得孩子主题路径的最佳方式

<?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/

结束

相关推荐