我在我的wordpress网站上使用了一个主题childtheme,而不是将我的所有功能都放在功能中。php文件,我想通过创建多个其他函数文件(admin\\u functions.php、single\\u functions.php…)使其更有组织性并将这些文件包含在my childtheme的函数中。php文件如下:
require_once (\'my-functions/admin-functions.php\');
require_once (\'my-functions/single-functions.php\');
这很好用。
但是,我试图通过使用以下条件标记使wordpress仅加载所需的文件:
if(is_admin())
require_once (\'my-functions/admin-functions.php\');
elseif(is_single())
require_once (\'my-functions/single-functions.php\');
这根本行不通。
我似乎找不到原因。我认为在条件函数(is\\u single和is\\u admin)可用之前,可能必须先调用一些wordpress函数。但我似乎哪儿也去不了。
非常感谢您的帮助。谢谢
最合适的回答,由SO网友:jdgregson 整理而成
由于这是一个重要的问题,没有真正的答案,我将提供我在寻找解决方案后发现的问题,尽管我没有回答为什么它不能像我们都认为的那样工作。
您需要在某个地方连接到WordPress,如下所示:
// load our posts-only PHP
add_action( "wp", "only_posts" );
function only_posts() {
if( is_single() ) {
// we are on a single post
include_once( "posts.php" );
}
}
因此,在你的情况下,我建议写如下,以获得
is_single
和
is_admin
在中工作
functions.php
:
add_action( "wp", "include_conditionals" );
function include_conditionals() {
if( is_admin() ) {
require_once( "my-functions/admin-functions.php" );
} else if( is_single() ) {
require_once( "my-functions/single-functions.php" );
}
}
请参见
here 了解更多信息。