我正在重新设计模板。因此,我试图显示一个等待页面,直到重新设计过程完成。
我曾经在许多其他项目中使用过以下函数,它被重定向到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
最合适的回答,由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;
}
?>