WordPress中的Echo&#39; <style'>导致&#34;无法修改标题信息&#34;错误

时间:2018-01-31 10:36:01

标签: php wordpress

我有这段代码:

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>';
}
}

我收到错误:

  

无法修改标题信息 - 已由

发送的标题

1 个答案:

答案 0 :(得分:2)

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

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

object

admin_init在WordPress中过早触发,您可以直接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>'; } } 代码进行屏幕显示。这就是导致您看到错误消息的原因。

  

无法修改标题信息 - 已由

发送的标题

如果您尝试将任何文字打印到屏幕上(使用echoecho,或者在打开print标记之前显示文字),则通常会发生此错误。

this question中有批次信息,重点关注错误原因。