如果current_user_can()函数出错500


if current_user_can() function 500 error

我试图写一个函数,将隐藏某些用户的管理栏。我从隐藏管理栏插件借用了一些代码。我写了以下导致服务器错误的代码:

<?php
/*Hides the Admin Bar in WordPress 3.1+
Tweaked Hide Admin Bar plugin */
if (  current_user_can('moderate_comments')  ) {
    function hide_admin_bar_prefs() {
        ?>
        <style type="text/css">
            .show-admin-bar {display: none;}
        </style> 
    <?php 
    }
    add_action( 'admin_print_scripts-profile.php', 'hide_admin_bar_prefs' );
    add_filter( 'show_admin_bar', '__return_false' );
}
?>

如果我将If语句更改为真或假等式,它将正常工作。例如,如果我使用

if (1 == 1) {... 
or 
if (1 == 2) {... 

就像我期望的那样工作。我错过了什么?

由于您是从另一个插件复制和粘贴的,是否有可能在这里重新声明hide_admin_bar_prefs()函数?检查禁用您正在从中复制此代码的插件是否会解决此问题。如果是这种情况,那么使用不同的函数名很可能会解决您的问题(并确保相应地更改调用add_action()的第二个参数)。