您想在 WordPress 中创建自定义前端用户注册表单吗?
默认的 WordPress 用户注册表单显示 WordPress 品牌,与您网站的主题不匹配。
在本文中,我们将向您展示如何在 WordPress 中创建自定义用户注册表单。
为什么要在 WordPress 中添加自定义用户注册表单
默认的 WordPress 用户注册页面显示 WordPress 品牌和徽标。它与您的 WordPress 网站的其余部分不匹配。
创建自定义用户注册表单允许您在 WordPress 站点的任何页面上添加注册表单。它可以帮助您在注册过程中提供更一致的用户体验。
自定义用户注册表单还允许您在注册时重定向用户。您还可以显示其他用户配置文件字段,将其与自定义前端登录表单相结合,并将其与您的电子邮件营销服务连接。
话虽如此,让我们看看如何在 WordPress 中创建自定义用户注册表单。
代码和插件方法创建用户注册表单
代码和插件方法都可以创建,下面整理代码方法和罗列有哪些WordPress插件可以实现。
代码:自定义页面方法
<?php /* Template Name: Registration */ global $current_user; wp_get_current_user(); $firstname = $_POST['firstname']; $lastname = $_POST['lastname']; $company = $_POST['company']; if (($firstname != '') && ($lastname != '') && ($company != '')) { // TODO: Do more rigorous validation on the submitted data // TODO: Generate a better login (or ask the user for it) $login = $firstname . $lastname; // TODO: Generate a better password (or ask the user for it) $password = '123'; // TODO: Ask the user for an e-mail address $email = '[email protected]'; // Create the WordPress User object with the basic required information $user_id = wp_create_user($login, $password, $email); if (!$user_id || is_wp_error($user_id)) { // TODO: Display an error message and don't proceed. } $userinfo = array( 'ID' => $user_id, 'first_name' => $firstname, 'last_name' => $lastname, ); // Update the WordPress User object with first and last name. wp_update_user($userinfo); // Add the company as user metadata update_usermeta($user_id, 'company', $company); } if (is_user_logged_in()) : ?> <p>You're already logged in and have no need to create a user profile.</p> <?php else : while (have_posts()) : the_post(); ?> <div id="page-<?php the_ID(); ?>"> <h2><?php the_title(); ?></h2> <div class="content"> <?php the_content() ?> </div> <form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="post"> <div class="firstname"> <label for="firstname">First name:</label> <input name="firstname" id="firstname" value="<?php echo esc_attr($firstname) ?>"> </div> <div class="lastname"> <label for="lastname">Last name:</label> <input name="lastname" id="lastname" value="<?php echo esc_attr($lastname) ?>"> </div> <div class="company"> <label for="company">Company:</label> <input name="company" id="company" value="<?php echo esc_attr($company) ?>"> </div> </form> </div> <?php endwhile; endif; ?>
最佳 WordPress 注册表单插件
看看我们关于最佳 WordPress 用户注册插件的文章。它涵盖了大量适用于设计和格式化注册模块的插件,而无需太多编码知识。
其中一些提供了独特的工具来利用大量自定义字段,而另一些则立即激活成员目录以组织您的会员群。
我们强烈建议您通读该文章,以确定适合您情况的最佳注册表单插件,但以下是我们最喜欢的列表:
这些插件专注于构建会员登录表单和利基注册区域,以使您的用户在注册您的网站时顺利完成。
作为替代方案,您可以使用通用表单插件,这样您就不会被仅限于某个行业或功能的插件卡住。
例如,可以使用 Contact Form 7(需要配合Frontend Registration – Contact Form 7使用) 和 Gravity Forms 插件制作自定义 WordPress 注册表单。