查看更新问题中的完整代码,您似乎只是在检查选项是否已更改;因此,出于这个目的,您可以简单地这样做<option name>
选项名称如下my_option
:
add_action( \'update_option_<option name>\', function(){
// you shouldn\'t echo, but this is just for testing
echo \'option changed\';
} );
And if the option\'s value is actually the same as the old one, the above function won\'t be called. 因为这就是
update_option()
有效-如果调用了它但选项的值没有更改,那么钩子
update_option_<option name>
不会被呼叫。而且
updated_option
或
update_option
钩
现在您说,“我的选项名包含用户ID”,并提到选项名是<user ID>_interview_date
. 在这种情况下,你可以这样做:
选项1:验证用户ID/数据:
add_action( \'updated_option\', function( $option_name ){
if ( preg_match( \'/^(\\d+)_interview_date$/\', $option_name, $matches ) ) {
$user_id = absint( $matches[1] );
// Check if the user exists.
if ( $user_id && ( $user = get_userdata( $user_id ) ) ) {
// you shouldn\'t echo, but this is just for testing
echo $option_name . \' option changed\';
}
}
} );
选项2:无验证。。
add_action( \'updated_option\', function( $option_name ){
if ( preg_match( \'/^(\\d+)_interview_date$/\', $option_name, $matches ) ) {
// you shouldn\'t echo, but this is just for testing
echo $option_name . \' option changed; no validations performed..\';
}
} );