需要Wordpress插件(用户注册-有自己的个人资料)



我正在寻找一个wordpress插件,当用户注册时,它会创建自己的配置文件,用户将拥有自己的个人区域。

有人能指出来吗?

谢谢

我认为不使用插件更容易。只需在functions.php中添加几行代码,就可以完成工作。我猜你是想让用户在首页注册。看看你是否能从这段代码中得到什么。

<?php
/**
 * Template Name: Register Page
 *
 */
/* Load registration file. */
require_once( ABSPATH . WPINC . '/registration.php' );
/* Check if users can register. */
$registration = get_option( 'users_can_register' );
/* If user registered, input info. */
if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'adduser' ) {
    $user_pass = wp_generate_password();
    $userdata = array(
        'user_pass' => $user_pass,
        'user_login' => esc_attr( $_POST['user_name'] ),
        'first_name' => esc_attr( $_POST['first_name'] ),
        'last_name' => esc_attr( $_POST['last_name'] ),
        'nickname' => esc_attr( $_POST['nickname'] ),
        'user_email' => esc_attr( $_POST['email'] ),
        'user_url' => esc_attr( $_POST['website'] ),
        'aim' => esc_attr( $_POST['aim'] ),
        'yim' => esc_attr( $_POST['yim'] ),
        'jabber' => esc_attr( $_POST['jabber'] ),
        'description' => esc_attr( $_POST['description'] ),
        'role' => get_option( 'default_role' ),
    );
    if ( !$userdata['user_login'] )
        $error = __('A username is required for registration.', 'frontendprofile');
    elseif ( username_exists($userdata['user_login']) )
        $error = __('Sorry, that username already exists!', 'frontendprofile');
    elseif ( !is_email($userdata['user_email'], true) )
        $error = __('You must enter a valid email address.', 'frontendprofile');
    elseif ( email_exists($userdata['user_email']) )
        $error = __('Sorry, that email address is already used!', 'frontendprofile');
    else{
        $new_user = wp_insert_user( $userdata );
        wp_new_user_notification($new_user, $user_pass);
        update_usermeta( $new_user, 'twitter', esc_attr( $_POST['twitter']  ) );
        update_usermeta( $new_user, 'birth',   esc_attr( $_POST['birth']    ) );
        update_usermeta( $new_user, 'hobbies',           $_POST['hobbies']    );
        update_usermeta( $new_user, 'agree',   esc_attr( $_POST['agree']    ) );
    }
}

    // calling the header.php
    get_header();
    // action hook for placing content above #container
    //thematic_abovecontainer();
?>
<div style="width:970px; height:32px; margin-bottom:10px; clear:both;"><img src="<?php bloginfo('template_url');?>/images/allNarutal_organicTea.png" title="All Natural, Organic Rooibos Tea" > </div>

    <div id="products_page">
        <div id="registration">
            <?php
            // calling the widget area 'page-top'
            the_post();
            ?>
            <div id="post-<?php the_ID(); ?>">
                <?php 
                // creating the post header
               // thematic_postheader();
                ?>
                <div class="entry-content">
                    <?php
                    the_content();
                    wp_link_pages("ttttt<div class='page-link'>".__('Pages: ', 'thematic'), "</div>n", 'number');
                    edit_post_link(__('Edit', 'thematic'),'<span class="edit-link">','</span>') ?>
                </div>
            </div><!-- .post -->
<!-- REGISTER FORM STARTS HERE -->
        <?php if ( is_user_logged_in() && !current_user_can( 'create_users' ) ) : ?>
            <p class="log-in-out alert">
            <?php printf( __('You are logged in as <a href="%1$s" title="%2$s">%2$s</a>.  You don't need another account.', 'frontendprofile'), get_author_posts_url( $curauth->ID ), $user_identity ); ?> <a href="<?php echo wp_logout_url( get_permalink() ); ?>" title="<?php _e('Log out of this account', 'frontendprofile'); ?>"><?php _e('Logout &raquo;', 'frontendprofile'); ?></a>
            </p><!-- .log-in-out .alert -->
        <?php elseif ( $new_user ) : ?>
            <p class="alert">
            <?php
                if ( current_user_can( 'create_users' ) )
                    printf( __('A user account for %1$s has been created.', 'frontendprofile'), $_POST['user-name'] );
                else 
                    printf( __('Thank you for registering, %1$s.', 'frontendprofile'), $_POST['user-name'] );
                    printf( __('<br/>Please check your email address. That's where you'll recieve your login password.<br/> (It might go into your spam folder)', 'frontendprofile') );
            ?>
            </p><!-- .alert -->
        <?php else : ?>
            <?php if ( $error ) : ?>
                <p class="error">
                    <?php echo $error; ?>
                </p><!-- .error -->
            <?php endif; ?>
            <?php if ( current_user_can( 'create_users' ) && $registration ) : ?>
                <p class="alert">
                    <?php _e('Users can register themselves or you can manually create users here.', 'frontendprofile'); ?>
                </p><!-- .alert -->
            <?php elseif ( current_user_can( 'create_users' ) ) : ?>
                <p class="alert">
                    <?php _e('Users cannot currently register themselves, but you can manually create users here.', 'frontendprofile'); ?>
                </p><!-- .alert -->
            <?php endif; ?>
            <?php if ( $registration || current_user_can( 'create_users' ) ) : ?>
            <form method="post" id="adduser" class="user-forms" action="http://<?php echo $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; ?>">

                <strong>Name</strong>
                <p class="form-username">
                    <label for="user_name"><?php _e('Username (required)', 'frontendprofile'); ?></label>
                    <input class="text-input" name="user_name" type="text" id="user_name" value="<?php if ( $error ) echo wp_specialchars( $_POST['user_name'], 1 ); ?>" />
                </p><!-- .form-username -->
                <p class="first_name">
                    <label for="first_name"><?php _e('First Name', 'frontendprofile'); ?></label>
                    <input class="text-input" name="first_name" type="text" id="first_name" value="<?php if ( $error ) echo wp_specialchars( $_POST['first_name'], 1 ); ?>" />
                </p><!-- .first_name -->
                <p class="last_name">
                    <label for="last_name"><?php _e('Last Name', 'frontendprofile'); ?></label>
                    <input class="text-input" name="last_name" type="text" id="last_name" value="<?php if ( $error ) echo wp_specialchars( $_POST['last_name'], 1 ); ?>" />
                </p><!-- .last_name -->
                <p class="nickname">
                    <label for="nickname"><?php _e('Nickname', 'frontendprofile'); ?></label>
                    <input class="text-input" name="nickname" type="text" id="nickname" value="<?php if ( $error ) echo wp_specialchars( $_POST['nickname'], 1 ); ?>" />
                </p><!-- .nickname -->
                <strong>Contact Info</strong>
                <p class="form-email">
                    <label for="email"><?php _e('E-mail (required)', 'frontendprofile'); ?></label>
                    <input class="text-input" name="email" type="text" id="email" value="<?php if ( $error ) echo wp_specialchars( $_POST['email'], 1 ); ?>" />
                </p><!-- .form-email -->
                <p class="form-website">
                    <label for="website"><?php _e('Website', 'frontendprofile'); ?></label>
                    <input class="text-input" name="website" type="text" id="website" value="<?php if ( $error ) echo wp_specialchars( $_POST['website'], 1 ); ?>" />
                </p><!-- .form-website -->
                <p class="form-aim">
                    <label for="aim"><?php _e('AIM', 'frontendprofile'); ?></label>
                    <input class="text-input" name="aim" type="text" id="aim" value="<?php if ( $error ) echo wp_specialchars( $_POST['aim'], 1 ); ?>" />
                </p><!-- .form-aim -->
                <p class="form-yim">
                    <label for="yim"><?php _e('Yahoo IM', 'frontendprofile'); ?></label>
                    <input class="text-input" name="yim" type="text" id="yim" value="<?php if ( $error ) echo wp_specialchars( $_POST['yim'], 1 ); ?>" />
                </p><!-- .form-yim -->
                <p class="form-jabber">
                    <label for="jabber"><?php _e('Jabber / Google Talk', 'frontendprofile'); ?></label>
                    <input class="text-input" name="jabber" type="text" id="jabber" value="<?php if ( $error ) echo wp_specialchars( $_POST['jabber'], 1 ); ?>" />
                </p><!-- .form-jabber -->
                <strong>About Yourself</strong>
                <p class="form-description">
                    <label for="description"><?php _e('Biographical Info', 'frontendprofile'); ?></label>
                    <textarea class="text-input" name="description" id="description" rows="5" cols="30"><?php if ( $error ) echo wp_specialchars( $_POST['description'], 1 ); ?></textarea>
                </p><!-- .form-description -->

                <p class="form-submit">
                    <?php echo $referer; ?>
                    <input name="adduser" type="submit" id="addusersub" class="submit button" value="<?php if ( current_user_can( 'create_users' ) ) _e('Add User', 'frontendprofile'); else _e('Register', 'frontendprofile'); ?>" />
                    <?php wp_nonce_field( 'add-user' ) ?>
                    <input name="action" type="hidden" id="action" value="adduser" />
                </p><!-- .form-submit -->
            </form><!-- #adduser -->
            <?php endif; ?>
        <?php endif; ?>
<!-- REGISTER FORM ENDS HERE -->

        </div><!-- #content -->
    </div><!-- #container -->
<?php 
    // action hook for placing content below #container
   // thematic_belowcontainer();
    // calling the standard sidebar 
   // thematic_sidebar();
    // calling footer.php
    get_footer();

还有cmy User Extra Fields插件:

官方网站和文档

WordPress Plugin Repository Version

它比Vezu的解决方案要重一些,但如果你更喜欢插件,它可能是你的选择。

考虑使用BuddyPress。但我不确定你是否需要它的所有功能。

相关内容

最新更新