ฉันกำลังมองหาวิธีง่ายๆในการวางแบบฟอร์มลงทะเบียนผู้ใช้บนส่วนหน้าของเว็บไซต์ WordPress ฉันได้ใช้ wp_login_form () เพื่อวางแบบฟอร์มการเข้าสู่ระบบที่ส่วนหน้า แต่ตอนนี้ฉันต้องทำแบบเดียวกันกับแบบฟอร์มการสมัคร
ความคิดใด ๆ
ฉันกำลังมองหาวิธีง่ายๆในการวางแบบฟอร์มลงทะเบียนผู้ใช้บนส่วนหน้าของเว็บไซต์ WordPress ฉันได้ใช้ wp_login_form () เพื่อวางแบบฟอร์มการเข้าสู่ระบบที่ส่วนหน้า แต่ตอนนี้ฉันต้องทำแบบเดียวกันกับแบบฟอร์มการสมัคร
ความคิดใด ๆ
คำตอบ:
เจฟฟ์สตาร์เขียนกวดวิชาที่ดีในการลงทะเบียนส่วนหน้าเข้าสู่ระบบและกู้คืนรหัสผ่าน
นำวิธีการที่คล้ายกันเป็นที่แนะนำโดย onetrickpony ดังนั้นให้ทำตามคำตอบของเขาและเป็นแหล่งข้อมูลอื่นที่อาจช่วยให้คุณทำมันได้:
http://digwp.com/2010/12/login-register-password-code/
ตอนนี้คุณมีสองตัวอย่างวิธีเขียนโค้ดด้วยตัวคุณเองและเชื่อใจฉัน - มันคุ้มที่จะทำแบบนี้ (ของคุณเอง) มันไม่ใช่เรื่องยากและมันจะช่วยให้คุณมีอิสระ , มีความยืดหยุ่นและสามารถนำมาใช้ว่าปลั๊กอินไม่สามารถนำเสนอ
ในกรณีที่คุณต้องการจัดการกับตัวเองนี่คือสิ่งที่ฉันใช้:
add_action('template_redirect', 'register_a_user');
function register_a_user(){
if(isset($_GET['do']) && $_GET['do'] == 'register'):
$errors = array();
if(empty($_POST['user']) || empty($_POST['email'])) $errors[] = 'provide a user and email';
if(!empty($_POST['spam'])) $errors[] = 'gtfo spammer';
$user_login = esc_attr($_POST['user']);
$user_email = esc_attr($_POST['email']);
require_once(ABSPATH.WPINC.'/registration.php');
$sanitized_user_login = sanitize_user($user_login);
$user_email = apply_filters('user_registration_email', $user_email);
if(!is_email($user_email)) $errors[] = 'invalid e-mail';
elseif(email_exists($user_email)) $errors[] = 'this email is already registered, bla bla...';
if(empty($sanitized_user_login) || !validate_username($user_login)) $errors[] = 'invalid user name';
elseif(username_exists($sanitized_user_login)) $errors[] = 'user name already exists';
if(empty($errors)):
$user_pass = wp_generate_password();
$user_id = wp_create_user($sanitized_user_login, $user_pass, $user_email);
if(!$user_id):
$errors[] = 'registration failed...';
else:
update_user_option($user_id, 'default_password_nag', true, true);
wp_new_user_notification($user_id, $user_pass);
endif;
endif;
if(!empty($errors)) define('REGISTRATION_ERROR', serialize($errors));
else define('REGISTERED_A_USER', $user_email);
endif;
}
รหัสเกือบจะเหมือนกับรหัสจากหน้าสมัครสมาชิก
จากนั้นเพิ่มแบบฟอร์มของคุณในเทมเพลตของคุณ:
<?php
if(defined('REGISTRATION_ERROR'))
foreach(unserialize(REGISTRATION_ERROR) as $error)
echo "<div class=\"error\">{$error}</div>";
// errors here, if any
elseif(defined('REGISTERED_A_USER'))
echo 'a email has been sent to '.REGISTERED_A_USER;
?>
<form method="post" action="<?php echo add_query_arg('do', 'register', home_url('/')); ?>">
<label>
User:
<input type="text" name="user" value=""/>
</label>
<label>
Email:
<input type="text" name="email" value="" />
</label>
<label>
Delete this text:
<input type="text" name="spam" value="some_crappy_spam_protection" />
</label>
<input type="submit" value="register" />
</form>
คุณสามารถสร้างวิดเจ็ตด้วยสิ่งนี้รหัสย่อหรือเพียงแค่เทมเพลตหน้าปกติ ...
home_url()
ด้วย URL หน้าปัจจุบันเนื่องจากรหัสของฉันถือว่าฟอร์มอยู่ในหน้าแรก ฉันโพสต์get_current_page_url()
ฟังก์ชั่นที่นี่ในคำถามอื่นจำไม่ได้ว่าอย่างใดอย่างหนึ่ง
Gravity Forms เป็นปลั๊กอินแบบฟอร์มการติดต่อที่ดีที่สุดสำหรับ WordPress, IMO มีรุ่นใหม่ล่าสุดในรุ่นเบต้ามีส่วนเสริมการลงทะเบียนผู้ใช้ ฉันลองแล้วมันใช้งานได้ดี คุณจะต้องเสียค่าใช้จ่ายแม้ว่าจะเท่ากับ $ 199 สำหรับสิทธิ์ใช้งานนักพัฒนาซอฟต์แวร์
หน้าราคา http://www.gravityforms.com/purchase-gravity-forms/
โพสต์บล็อกพูดคุยเกี่ยวกับการลงทะเบียนผู้ใช้ add-on http://www.gravityhelp.com/
ฉันขอแนะนำปลั๊กอินนี้ให้กับชุมชน WordPress
ข้อกำหนดรายละเอียด:
นี่คือคุณสมบัติบางอย่างของ Add-On การลงทะเบียนผู้ใช้:
ลองใช้ปลั๊กอินเข้าสู่ระบบแบบง่าย ๆ อนุญาตให้ลงทะเบียนและเข้าสู่ระบบ (คุณต้องเปิดใช้งานการลงทะเบียนผู้ใช้) และมันก็ดูดีมาก
คุณสามารถใช้ปลั๊กอินของชุดรูปแบบการเข้าสู่ระบบของฉัน
นี่เป็นวิธีที่ง่ายและดีที่ฉันได้ทำ:
คัดลอกชื่อฟิลด์และข้อมูลอื่น ๆ จากแบบฟอร์มลงทะเบียน Wordpress ปัจจุบัน ตรวจสอบให้แน่ใจว่าฟอร์มที่กำหนดเองของคุณมีฟิลด์ชื่อเดียวกันรวมถึงที่ถูกซ่อนไว้แล้วชี้ไปที่การลงทะเบียน URL ที่เหมาะสม: http://www.yourblog.com/wp-login.php?action=register - คุณอาจต้องการ เพื่อเปลี่ยนวิธีการเปลี่ยนเส้นทางของฟอร์มหลังจากลงทะเบียนด้วยหากคุณไม่ชอบวิธีการจัดการ
นอกจากนี้ยังมีปลั๊กอินนี้ชื่อ Insite เข้าสู่ระบบซึ่งช่วยให้คุณสามารถวางในแบบฟอร์มการลงทะเบียนแบบฟอร์มการเข้าสู่ระบบและอื่น ๆ ลงในหน้าต่างๆในเว็บไซต์ของคุณ: http://wordpress.org/extend/plugins/insitelogin/
ทางออกแรกควรทำในสิ่งที่คุณต้องการให้ทำ
ในกรณีที่คุณต้องการฟิลด์เพิ่มเติมในแบบฟอร์มการลงทะเบียนคุณสามารถใช้ปลั๊กอินตัวสร้างโปรไฟล์
มันช่วยให้คุณปรับแต่งเว็บไซต์ของคุณโดยการเพิ่มแบบฟอร์มส่วนหน้าสำหรับการเข้าสู่ระบบลงทะเบียนและแก้ไขโปรไฟล์ผ่านการใช้รหัสย่อ