<?php
if ( ! is_admin() ) return;
echo \'You should not see this if you\\\'re not logged in!\';
?>
如果你把这个放在mu-plugin, 并转到您的管理员,例如。,example.com/wp-admin/
当您未登录时,您是否能够看到echo
?<?php
if ( ! is_admin() ) return;
echo \'You should not see this if you\\\'re not logged in!\';
?>
如果你把这个放在mu-plugin, 并转到您的管理员,例如。,example.com/wp-admin/
当您未登录时,您是否能够看到echo
?你误解了is_admin()
作用它不是用于检查用户是否是管理员的标记,而是用于检查您是否在管理员页面上的模板标记。
从Codex:
此条件标记检查是否显示仪表板或管理面板。这是一个布尔函数,意味着它返回TRUE或FALSE。
不过,你在这里面临着几个问题。
如果您试图转到/wp-admin
当您未登录时,WordPress将自动重定向页面。请求/wp-admin
确实是请求/wp-admin/index.php
, 未登录的页面用户首先没有查看权限。所以你会被重定向到/wp-admin/wp-login.php
这不一定会加载你的插件代码echo/return
存在于全局范围中。实际上,这段代码应该包装在一个函数中,并连接到WordPress操作/wp-admin 登录时翻页,is_admin()
将评估为true
您应该能够看到echo
陈述很好,假设有两件事:
您的代码中没有错误(正如@amit和@Fraggy所指出的,您有一个输入错误-一个未被替换的错误\'
角色echo 和return
在全球范围内,因为实际上,没有办法控制echo
/return
将会发生。您应该将此代码放在函数中
Theis_admin()
仅检查当前访问者是否在管理页面上
要阻止任何非管理员用户访问任何管理员页面,请使用current_user_can();
作用下面是一个检查当前用户是否不是管理员的示例。
if ( ! current_user_can( \'manage_options\' ) ) {
echo \'You should not see this if you\\\'re not logged in!\';
}
#1 Update -
is_user_logged_in()
- 有一个功能可以检查当前访问用户是否已登录,您可以使用该功能。下面是一个更新的示例-if ( ! is_user_logged_in() ) {
echo \'You should not see this if you\\\'re not logged in\';
}
如何esc_html__ (第二个)保护$message 被黑客攻击的变量?在这里使用这种保护有什么意义(第二种是纯文本保护)?<?php function unknown(){ /* If the user input any text, escape it. */ if ( !empty ( $_POST[\'unknown\'] ) ) $message = esc_html ( $_POST[\'unknow