php - 如何在 wordpress 中通过用户名添加管理员 css
问题描述
我正在尝试为管理员添加自定义 css,如下所示
add_action('admin_head', 'hey_custom_admin_css');
function hey_custom_admin_css() {
global $current_user;
$user_id = get_current_user_id();
if(is_admin() && $user_id != '1'){
echo "<style>#wpwrap{background-color:red;}</style>";
}
}
并且工作完美,但我想将它用于用户名,而不是用户 ID
有可能吗?如果是,请给我建议
谢谢
编辑代码
1st ... Css 工作,但适用于所有用户。包括代码中列出的。
<?php
/**
* Plugin Name: My Plugin
* Plugin URI: https://google.com
* Description: Me
* Version: 1.0
* Author: Plugin
* Author URI: https://google.com
*/
add_action('admin_head', 'hey_custom_admin_css');
function hey_custom_admin_css() {
global $current_user;
wp_get_current_user();
$username = $current_user->user_login;
if(is_admin() && ($username != 'xyz' || $username != 'abc')){
echo "
<style>
#wpwrap{background-color:red;}
</style>";
} }
第二...给出错误
<?php
/**
* Plugin Name: My Plugin
* Plugin URI: https://google.com
* Description: Me
* Version: 1.0
* Author: Plugin
* Author URI: https://google.com
*/
global $current_user;
wp_get_current_user(); //Error on this line
$username = $current_user->user_login;
if(is_admin() && ($username != 'xyz' || $username != 'abc')){
echo "
<style>
#wpwrap{background-color:red;}
</style>";
}
给定第二个错误
致命错误:未捕获错误:调用 /home/dh_w4i633/site.com/wp-content/plugins/me/me.php:13 中未定义的函数 wp_get_current_user() 堆栈跟踪:#0 /home/dh_w4i633/site.com/ wp-settings.php(371): include_once() #1 /home/dh_w4i633/site.com/wp-config.php(106): require_once('/home/dh_w4i633...') #2 /home/dh_w4i633 /site.com/wp-load.php(37): require_once('/home/dh_w4i633...') #3 /home/dh_w4i633/site.com/wp-admin/admin.php(34): require_once( '/home/dh_w4i633...') #4 /home/dh_w4i633/site.com/wp-admin/plugins.php(10): require_once('/home/dh_w4i633...') #5 {main} 抛出在第 13 行的 /home/dh_w4i633/site.com/wp-content/plugins/me/me.php
解决方案
<?php
global $current_user;
wp_get_current_user();
$username = $current_user->user_login;
if(is_admin() && ($username == 'username' || $username == 'another_username')){
echo "<style>#wpwrap{background-color:red;}</style>";
}
?>
编辑:
您编辑中的第二个代码给您一个错误,因为您一直在运行它而不是将它附加到挂钩上,因此出现错误。
您编辑中的第一个代码似乎是正确的,所以让我们坚持下去。它为所有用户(包括您不需要的用户)更改 css 的原因是 OR||
运算符。您需要用 AND&&
运算符替换它。你的情况会变成:
if(is_admin() && $username != 'xyz' && $username != 'abc')
推荐阅读
- imagemagick - 如何使用 imagemagick 为我的屏幕截图提供背景和尺寸?
- docker - 使用心轴创建 Quarkus Docker 容器失败
- javascript - Splidejs:没有视频
- reactjs - RTL 渲染不能在 try/catch 中被捕获,而酶浅层可以,在反应单元测试中
- hive - 如何检查字符串 IP 是否属于 Hive 中的子网
- mysql - 将 db 值与特殊字符匹配
- python - 用正投影法再现cartopy地块的范围
- java - 在片段内进行验证
- vb.net - 使用 InkEdit 控件时的内存泄漏
- ruby-on-rails - 根据循环中元素的数量动态设置类名中的数字