当nonce 检查失败。
我认为可能的原因是与referer冲突(作为nonce安全的一部分,WP检查referer是否是同一域和路径上的管理页面)。
您可以通过在中定义自定义函数来排除这种情况wp-config.php
:
function check_admin_referer($action = -1, $query_arg = \'_wpnonce\') {
if ( -1 == $action )
_doing_it_wrong( __FUNCTION__, __( \'You should specify a nonce action to be verified by using the first parameter.\' ), \'3.2\' );
$adminurl = strtolower(admin_url());
$referer = strtolower(wp_get_referer());
$result = isset($_REQUEST[$query_arg]) ? wp_verify_nonce($_REQUEST[$query_arg], $action) : false;
if ( !$result && !(-1 == $action /* skip this: && strpos($referer, $adminurl) === 0 */) ) {
wp_nonce_ays($action);
die();
}
do_action(\'check_admin_referer\', $action, $result);
return $result;
}
这实现了标准的nonce检查,但跳过了referer部分。如果它解决了错误消息,我们就已经隔离了问题,并可以努力实现永久修复。
Further reading on the two primary types of errors (这是错误的,权限不足)。