繁体   English   中英

回声 <style'> WordPress中导致“无法修改标题信息”错误

[英]Echo '<style'> in WordPress causes “Cannot modify header information” error

我有以下代码:

add_action('admin_init', 'wpse74389_check_username');
function wpse74389_check_username(){
$user = wp_get_current_user();
if( current_user_can('admin')){
    echo '<style>
li#menu-settings .wp-submenu.wp-submenu-wrap li:last-child {
display: none!important;
}
li#menu-settings .wp-submenu.wp-submenu-wrap li:nth-child(2) {
 display: none!important;
}
</style>';
}
}

我收到一个错误:

无法修改标头信息-标头已由发送

您应该使用admin_head操作将代码添加到WP-Admin。

例如,用以下代码替换您的代码:

add_action('admin_head', 'wpse74389_check_username'); // <-- Modified

function wpse74389_check_username(){
    $user = wp_get_current_user();
    if( current_user_can('admin')){
        echo '<style>
        li#menu-settings .wp-submenu.wp-submenu-wrap li:last-child {
        display: none!important;
        }
        li#menu-settings .wp-submenu.wp-submenu-wrap li:nth-child(2) {
        display: none!important;
        }
        </style>';
    }
}

admin_init在WordPress中触发还为时过早,您无法直接将代码echo到屏幕上。 这就是导致您看到的错误消息的原因。

无法修改标头信息-标头已由发送

如果您尝试在屏幕上打印任何文本(使用echoprint或什至在打开<?php标签之前包含文本),通常会发生此错误。

这个问题中很多信息,这些信息集中在错误的原因上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM