如果刚刚发送了变量POST,我想在我的插件(或functions.php(中检测。我的意思是,当管理员更改用户的角色时,会发送变量post-role。
<select name="role" id="role">
<option value="shop_manager">Shop manager</option>
<option value="customer">Customer</option>
<option selected="selected" value="level_1">Level 1</option>
<option value="subscriber">Subscriber</option>
<option value="contributor">Contributor</option>
<option value="author">Author</option>
<option value="editor">Editor</option>
<option value="administrator">Administrator</option><option value="">— No role for this site —</option>
add_action('edit_user_profile', 'CheckPost', 10, 1);//loading on user-edit.php
$rolemodified = $_POST['role'];
function CheckPost(){
if( !empty($rolemodified) ){ echo "ROLE: $rolemodified "; }
}
我想检索此$_POST['role'];或显示在提醒上
echo "<script type='text/javascript'>alert('post:');</script>";
感谢
我认为这是一个变量作用域问题。
$rolemodified
在您的功能中不可用。
尝试将其添加为函数中的全局变量,如下所示:
add_action('edit_user_profile', 'CheckPost', 10, 1);//loading on user-edit.php
$rolemodified = $_POST['role'];
function CheckPost() {
global $rolemodified; // or set $rolemodified here
if( !empty($rolemodified) ){ echo "ROLE: $rolemodified "; }
}
EDIT:我刚刚注意到您也在使用edit_user_profile
挂钩。您需要使用edit_user_profile_update
挂钩来获取post值。