Php Wordpress:调用未定义的函数register\u new\u user()

Php Wordpress:调用未定义的函数register\u new\u user(),php,wordpress,Php,Wordpress,当我在url路径“wp login.php?action=register”之外使用注册表表单时,它会返回错误 ( ! ) SCREAM: Error suppression ignored for ( ! ) Fatal error: Call to undefined function register_new_user() in C:\wamp\www\mysite-t\wp-content\themes\mysite\functions\theme-access.php on l

当我在url路径“wp login.php?action=register”之外使用注册表表单时,它会返回错误

( ! ) SCREAM: Error suppression ignored for
( ! ) Fatal error: Call to undefined function register_new_user() in     C:\wamp\www\mysite-t\wp-content\themes\mysite\functions\theme-access.php on line 74
Call Stack
#   Time    Memory  Function    Location
1   0.0003  676128  {main}( )   ..\index.php:0
2   0.0005  680960  require( 'C:\wamp\www\mysite-t\wp-blog-header.php' )      ..\index.php:17
3   0.0008  707056  require_once( 'C:\wamp\www\mysite-t\wp-load.php' )  ..\wp-blog-header.php:12
4   0.0011  725040  require_once( 'C:\wamp\www\mysite-t\wp-config.php' )    ..\wp-load.php:29
5   0.0019  858224  require_once( 'C:\wamp\www\mysite-t\wp-settings.php' )  ..\wp-config.php:90
6   1.2878  34464032    do_action( )    ..\wp-settings.php:308
7   1.3151  34734896    call_user_func_array ( )    ..\plugin.php:406
8   1.3151  34734928    edd_post_actions( ) ..\plugin.php:406
9   1.3151  34735016    do_action( )    ..\actions.php:40
10  1.3151  34736392    call_user_func_array ( )    ..\plugin.php:406
11  1.3151  34736424    forest_process_registre_form( ) ..\plugin.php:406
这是我的表格

<form id="registre_form"  class="horizontal-form" action="" method="post">
                      <fieldset>

                        <div class="input-group">
                            <label for="user_login"><?php echo __( 'Username', 'forest' ); ?>:</label>
                            <div class="inputs">
                              <input name="user_login" id="user_login" class="required" type="text" value="<?php echo isset($_POST['user_login']) ? esc_attr(stripslashes($_POST['user_login'])):''; ?>"/>
                            </div>
                        </div>

                        <div class="input-group">
                            <label for="user_email"><?php echo __( 'E-mail Addy', 'forest' ); ?>:</label>
                            <div class="inputs">
                              <input name="user_email" id="user_email" class="required" type="text" value="<?php echo isset($_POST['user_email']) ? esc_attr(stripslashes($_POST['user_email'])):''; ?>"/>
                            </div>
                        </div>

                        <div class="input-group">
                            <div class="inputs">
                             <em><?php echo __( 'The password will be e-mailed to you.', 'forest' ); ?></em>
                            </div>
                        </div>

                        <div class="form-submit">
                             <input type="hidden" name="edd_redirect" value="<?php bloginfo('url') ?>/wp-login.php?action=register&success=ok"/>
                            <input type="hidden" name="edd-registre-nonce" value="<?php echo wp_create_nonce( 'edd-registre-nonce' ); ?>"/>
                            <input type="hidden" name="edd_action" value="user_registre"/>
                            <button type="submit" class="btn-icon submit"><?php echo __( 'Create Account', 'forest' ); ?></button>
                        </div>

                    </fieldset>
                </form>

当url=wp login.php?action=register时,它在注册页面上工作,但当它位于该页面之外的任何url上时,它无法完成该功能。有什么方法可以纠正这个问题吗,可以在wordpress中执行吗?

确保任何人都可以注册在wp admin options中设置为true,它位于Administration>Settings>General

下,因为wordpress中没有类似于
register\u new\u user()
这样的函数,您在哪里定义了该函数?另见:你找到这个答案了吗@feeela已尝试wp_create_user,但它只是刷新,无法插入任何用户。奇怪的是,尽管register\u new\u用户是老用户,但它仍然可以在register页面上工作。因为除了我之外没有人回答你的问题,所以我今天/明天会设法找到解决办法。不过,我不建议使用旧函数,但由于wp_create_user失败,我可以理解您为什么要尝试使用此函数。事实证明,我需要user.php中的函数,而不是wp-login.php中的函数。还有你的答案!
function forest_process_registre_form( $data ) {
if ( wp_verify_nonce( $data['edd-registre-nonce'], 'edd-registre-nonce' ) ) {

    $errors = register_new_user($data['user_login'], $data['user_email']);
    if ( isset($errors) && is_array($errors) ){
        foreach($errors as $error) {
            if(count($error) > 0) {
                foreach($error as $e) {
                    edd_set_error( 'email_incorrect', $e[0]);
                }
            }
        }
    }
    // Check for errors and redirect if none present
    $errors = edd_get_errors();
    if ( ! $errors ) {
        $redirect = apply_filters( 'edd_login_redirect', $data['edd_redirect'], $user_ID );
        wp_redirect( $redirect );
        exit;
    }
}
}
 add_action( 'edd_user_registre', 'forest_process_registre_form' );