函数文档

signup_nonce_check()

💡 云策文档标注

概述

signup_nonce_check() 函数用于处理在 signup_nonce_fields() 中创建的非ce,验证注册表单的安全性。它检查非ce有效性,并在无效时添加错误信息。

关键要点

  • 函数接收一个数组参数 $result,并返回处理后的数组。
  • 仅在 wp-signup.php 页面执行非ce验证,否则直接返回原结果。
  • 使用 wp_verify_nonce() 验证 $_POST['_signup_form'] 非ce,基于 $_POST['signup_form_id'] 生成键名。
  • 如果非ce无效,向 $result['errors'] 添加错误消息,使用 __() 进行国际化。

代码示例

function signup_nonce_check( $result ) {
    if ( ! strpos( $_SERVER['PHP_SELF'], 'wp-signup.php' ) ) {
        return $result;
    }

    if ( ! wp_verify_nonce( $_POST['_signup_form'], 'signup_form_' . $_POST['signup_form_id'] ) ) {
        $result['errors']->add( 'invalid_nonce', __( 'Unable to submit this form, please try again.' ) );
    }

    return $result;
}

注意事项

  • 此函数自 MU (3.0.0) 版本引入,是 WordPress 多站点注册流程的一部分。
  • 依赖 wp_verify_nonce() 和 __() 函数,确保非ce验证和文本翻译正确。
  • 仅在注册表单页面生效,避免在其他场景误用。

📄 原文内容

Processes the signup nonce created in signup_nonce_fields() .

Parameters

$resultarrayrequired

Return

array

Source

function signup_nonce_check( $result ) {
	if ( ! strpos( $_SERVER['PHP_SELF'], 'wp-signup.php' ) ) {
		return $result;
	}

	if ( ! wp_verify_nonce( $_POST['_signup_form'], 'signup_form_' . $_POST['signup_form_id'] ) ) {
		$result['errors']->add( 'invalid_nonce', __( 'Unable to submit this form, please try again.' ) );
	}

	return $result;
}

Changelog

Version Description
MU (3.0.0) Introduced.