在我添加函数后,显示一个空白页面

时间:2014-03-18 作者:Riffaz Starr

我正在重新设计模板。因此,我试图显示一个等待页面,直到重新设计过程完成。

我曾经在许多其他项目中使用过以下函数,它被重定向到holding.php 如果用户不是Admin

add_action( \'template_redirect\', function() { if( !current_user_can( \'manage_options\' ) ) { include( get_template_directory() . \'/holding.php\' ); exit; } });

但是,当我尝试将此代码放在当前的重新设计项目中时,如果我转到主页或任何其他页面,它会显示一个空白页面。如果我从中删除上述代码function.php 现场运行良好。

我注意到当前项目的所有php文件/** * @package WordPress * @subpackage Starkers */

我的theme 文件夹包含WordPress, Starkers tooI以为它被评论掉了。所以它什么都不做。

这些行包含在每个文件中,例如index.php, function.php, etc

如果我像下面提到的那样添加重定向功能,为什么会显示空白页。??任何帮助都将不胜感激。

[UPDATE]当我启用调试时,我得到了以下几行代码。

注意:调用load\\u plugin\\u textdomain时使用的参数自2.7版以来已被弃用,没有可用的替代参数。in/home/supgower/public\\u html/wp包含/函数。php在线3008

注意:date\\u default\\u timezone\\u set()[函数.date default timezone set]:时区ID“UTC-1”在/home/supgower/public\\html/wp content/plugins/event calendar/tz中无效。php在线27

注意:date\\u default\\u timezone\\u set()[函数.date default timezone set]:时区ID“UTC-1”在/home/supgower/public\\html/wp content/plugins/event calendar/tz中无效。php在线27

注意:wp\\u enqueue\\u脚本调用不正确。在wp\\u enqueue\\u脚本、admin\\u enqueue\\u脚本或login\\u enqueue\\u脚本挂钩之前,不应注册或排队脚本和样式。有关详细信息,请参阅WordPress中的调试。(此消息是在版本3.3中添加的。)in/home/supgower/public\\u html/wp包含/函数。php在线3049

注意:wp\\u enqueue\\u style的调用不正确。在wp\\u enqueue\\u脚本、admin\\u enqueue\\u脚本或login\\u enqueue\\u脚本挂钩之前,不应注册或排队脚本和样式。有关详细信息,请参阅WordPress中的调试。(此消息是在版本3.3中添加的。)in/home/supgower/public\\u html/wp包含/函数。php在线3049

1 个回复
最合适的回答,由SO网友:Hiranthi 整理而成

您是否尝试过:

<?php
add_action( \'template_redirect\', \'wp138320_template_redirect\' );

function wp138320_template_redirect()
{
    if ( ! current_user_can( \'manage_options\' ) )
    {
        include( get_template_directory() . \'/holding.php\' );
        exit;
    }
}
?>
我目前正在一个网站上工作,该网站也存在类似于挂接操作/过滤器的问题,将其更改为类似于上面代码的内容,在该安装中实现了技巧。

----编辑:使用钩子@Pieter提到:

<?php
add_filter( \'template_include\', \'wp138320_template_include\' );

function wp138320_template_include( $template )
{
    if ( ! current_user_can( \'manage_options\' ) )
    {
        if ( \'\' != locate_template( \'holding.php\' ) )
            return \'holding.php\'; // holding.php should be in the root of your theme\'s folder
    }

    return $template;
}
?>

结束

相关推荐

从Functions.php中导入WordPress XML文件

我正在开发一个主题,它有不同的添加内容的方法,因此,Wordpress的默认安装不会显示任何内容。我想知道在主题被激活后,是否可以通过内部函数和/或挂钩自动导入XML文件?User installs theme > User activates theme > Code behind the scenes loads up an XML file and performs a silent import of its contents当前要导入XML文件,您必须为Wordpress