如何在WP中挂钩validate_username(或sanitize_user)?

时间:2013-01-17 12:55:03

标签: wordpress wordpress-plugin hook

我是wordpress的新手,我只是在学习它。 如何挂钩validate_username或sanitize_user函数?

我根本不想打电话给他们,我想为我的特定插件更改它们。

以下是完整的故事: 我的问题是我不知道如何正确地更改现有的WP函数而不修改它们(一些钩子或类似的东西)。

我有以下问题:

  • 我有一个插件主题-my-login,显示注册表单
  • 它有register_new_user(处理注册新用户) - >它不是wp标准函数,而是用插件写的
  • 此函数调用WP标准validate_username:

    function register_new_user( $user_login, $user_email,$term, $country  ) {
    $errors = new WP_Error();
    
    $sanitized_user_login = sanitize_user( $user_login );
    $user_email = apply_filters( 'user_registration_email', $user_email );
    
    // Check the username
    if ( $sanitized_user_login == '' ) {
        $errors->add( 'empty_username', __( '<strong> ط®ط·ط£ </strong>...', 'theme-my-login' ) );
    } elseif ( !**validate_username**( $user_login ) ) { //HERE WE CALL WP VALIDATE_
        $errors->add( 'invalid_username', __( '<strong> ط®ط·ط£ </strong>: 
    

    ...

所以,这里的问题是* validate_username *不允许用户名使用阿拉伯语。但这是客户想要的。 所以,我相信我应该覆盖或以某种方式修改现有的WP validate_username或sanitize_user(两者都在wp-includes / user.php中)。

1 个答案:

答案 0 :(得分:0)

我找到了一个能为我完成所有事情的插件: “用户名中的WordPress特殊字符” http://wordpress.org/extend/plugins/wordpress-special-characters-in-usernames/