通常,在主题函数文件中,我将需要其他文件来保持整洁。
require_once("foo.php");
现在,我想以儿童主题工作。我正在添加自定义管理选项,似乎无法包含代码。我已经回显了路径,以确保我正在调用正确的文件,并且正在调用正确的位置,但是该文件内部似乎没有任何运行。如果将代码放在子主题功能文件中,则代码运行良好。
通常,在主题函数文件中,我将需要其他文件来保持整洁。
require_once("foo.php");
现在,我想以儿童主题工作。我正在添加自定义管理选项,似乎无法包含代码。我已经回显了路径,以确保我正在调用正确的文件,并且正在调用正确的位置,但是该文件内部似乎没有任何运行。如果将代码放在子主题功能文件中,则代码运行良好。
Answers:
子主题通过目录名称引用父主题,并且在正常安装中,所有主题都存在于中wp-content/themes/
,所以我说可以通过它们的相对路径来引用这些主题:
include '../parent-theme/some-file.php';
如果让你不舒服,我看到在WordPress 3.0.1以下常量与twentyten子主题名为TT-孩子:
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()
仍然适用于子主题,可悲的是针对父主题目录。在您的情况下很有用
嗨@curtismchale:
不知道是否这样,但是您需要在周围加上引号foo.php
,例如:
require_once('foo.php');
这样可以解决您的问题吗?
使用<?php get_template_part( 'name-the-page-here' ); ?>
。没有扩展名.php
您绝对不希望对URL进行硬编码。这样做的正确方法是
require_once( get_stylesheet_directory(). '/my_included_file.php' );
在Wordpress Codex上查看更多信息
现在,如果您修改了包含头的示例header.php,则将其引用如下:
require_once( get_stylesheet_directory() . '/../parenthteme/my_included_file.php' );
我认为这是获得孩子主题路径的最佳方法
<?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/获取想法
require_once
需要一个路径,而不是一个URL。