फ्रंट-एंड रजिस्टर फॉर्म


13

मैं वर्डप्रेस साइट के सामने के छोर पर उपयोगकर्ता पंजीकरण फॉर्म को रखने का एक आसान तरीका ढूंढ रहा हूं। मैंने पहले से लॉगिन फ़ॉर्म को सामने के छोर पर रखने के लिए wp_login_form () का उपयोग किया है, लेकिन अब मुझे साइनअप फ़ॉर्म के साथ भी ऐसा करने की आवश्यकता है।

कोई विचार?


क्षमा करें, लेकिन "फ्रंट-एंड" से आपका क्या मतलब है। मुझे लगता है कि मैं समझता हूं कि फ्रंट-एंड और बैक-एंड का क्या मतलब है, लेकिन मुझे समझ नहीं आता कि आप फ्रंट-एंड की तुलना में कहीं और कैसे फॉर्म रख सकते हैं। क्या आपका मतलब फ्रंट-पेज है?
मैड्स स्केजर्न

जवाबों:


7

जेफ स्टार ने फ्रंट-एंड पंजीकरण, लॉगिन और पासवर्ड रिकवरी पर एक शानदार ट्यूटोरियल लिखा,
जो कि वैसा ही दृष्टिकोण ले रहा है जैसा कि onetrickpony ने सुझाया था । इसलिए इसे अपने उत्तर के रूप में लें और एक अन्य संसाधन के रूप में जो आपको इसे पूरा करने में मदद कर सकता है:
http://digwp.com/2010/12/login-register-password-code/

अब आपके पास दो उदाहरण हैं कि यह कैसे अपने आप को कोड करें और मुझ पर विश्वास करें - यह निश्चित रूप से यह (आपका अपना) तरीका है यह इतना कठिन नहीं है और यह आपको स्वतंत्रता , लचीलापन और पुन: प्रयोज्यता प्रदान करता है जो कोई प्लगइन नहीं दे सकता है।


4

यदि आप इसे स्वयं संभालना चाहते हैं, तो यहां मैं इसका उपयोग करता हूं:

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()और सवाल पर यहाँ एक समारोह पोस्ट किया है , याद नहीं कि कौन सा है
onetrickpony

2

Gravity Forms WordPress, IMO के लिए सबसे अच्छा संपर्क फ़ॉर्म प्लगइन है। नवीनतम संस्करण में, बीटा में, उपयोगकर्ता पंजीकरण एड-ऑन है। मैंने इसकी कोशिश की है और यह बहुत अच्छा है। हालांकि यह आपकी लागत होगी ... यह एक डेवलपर लाइसेंस के लिए $ 199 है।

मूल्य निर्धारण पृष्ठ http://www.gravityforms.com/purchase-gravity-forms/

उपयोगकर्ता पंजीकरण ऐड-ऑन http://www.gravityhelp.com/ के बारे में बात करते हुए ब्लॉग पोस्ट

मैं वर्डप्रेस समुदाय के लिए इस प्लगइन की अत्यधिक अनुशंसा करता हूं।

विस्तृत विवरण:

उपयोगकर्ता पंजीकरण ऐड-ऑन की कुछ विशेषताएं इस प्रकार हैं:

  • उपयोगकर्ता पंजीकरण - वर्डप्रेस में उपलब्ध उपयोगकर्ता पंजीकरण फ़ील्ड में अपने फ़ॉर्म फ़ील्ड को मैप करके उपयोगकर्ता को पंजीकृत करने के लिए एक फ़ॉर्म सेट करें।
  • उपयोगकर्ता मेटा - आसानी से उपयोगकर्ता मेटा डेटा जैसे कि बायो, इंस्टेंट मैसेजिंग आईडी, पहला नाम, अंतिम नाम के साथ-साथ कस्टम उपयोगकर्ता मेटा को आपकी आवश्यकताओं के अनुसार आसानी से आबाद करें।
  • BuddyPress एकीकरण - उपयोगकर्ता पंजीकरण प्रक्रिया के हिस्से के रूप में BuddyPress प्रोफ़ाइल फ़ील्ड डेटा पॉप्युलेट करें। वर्तमान में BuddyPress v1.2.6 के साथ काम करता है।
  • भुगतान एकीकरण - उपयोगकर्ता पंजीकरण होने से पहले भुगतान की आवश्यकता होती है। पेपाल सदस्यता के लिए समर्थन शामिल है, और सदस्यता रद्द होने पर उपयोगकर्ता की भूमिका बदलना या उपयोगकर्ता को हटाना।
  • पासवर्ड फ़ील्ड - उपयोगकर्ता पंजीकरण ऐड-ऑन आपके प्रपत्रों में उपयोग के लिए गुरुत्वाकर्षण प्रपत्र में एक पासवर्ड फ़ील्ड जोड़ता है। पासवर्ड फ़ील्ड में एक पुष्टिकरण विकल्प और साथ ही एक बिल्ट इन पासवर्ड स्ट्रेंथ चेकर विकल्प भी शामिल है।
  • पोस्ट लेखक - उपयोगकर्ता पंजीकरण ऐड-ऑन और पोस्ट क्रिएशन को एक ही रूप में एकीकृत करें ताकि जो पोस्ट बनाई जाए उसका लेखक ऐड-ऑन द्वारा पंजीकृत उपयोगकर्ता हो।
  • साइट निर्माण - साइट पर व्यवस्थापक के रूप में नए बनाए गए उपयोगकर्ताओं को वर्डप्रेस नेटवर्क (मल्टी-साइट) पर स्वचालित रूप से एक साइट स्थापित करें और असाइन करें।

1

Simplemodal लॉगिन प्लगइन का प्रयास करें। यह पंजीकरण और लॉगिन की अनुमति देता है (आपको उपयोगकर्ता पंजीकरण सक्षम करना होगा), और इसे इसे बहुत अच्छा रूप दिया गया है।


बंद करें, लेकिन काफी नहीं जो मुझे चाहिए। मुझे कुछ ऐसा चाहिए जो मैं अपने मौजूदा टेम्पलेट में छोड़ सकूं।
पिप्पिन

हाँ .. मैं .. आप इसे अपने टेम्पलेट में कैसे नहीं डाल सकते?
लिन

यहाँ एक साइट है जिसे मैंने सिंपल मोडल लॉग इन का उपयोग करके डिज़ाइन किया है .. Purevapes.com शीर्ष पर रजिस्टर और लॉगिन लिंक पर ध्यान दें। उपयोगकर्ता को ब्लॉग के फ्रंट-एंड से दूर नहीं रखा जाता है। आप अपने टेम्पलेट में सरल HTML कोड का उपयोग करके उन्हें शामिल कर सकते हैं, और वे उपयोगकर्ता को व्यवस्थापक पैनल के बजाय फ्रंट पेज पर पुनर्निर्देशित कर सकते हैं। इसलिए मुझे यकीन नहीं है कि इसे किसी भी टेम्पलेट में 'गिराया' नहीं जा सकता।
लिन

मेरा मतलब था "गिरा दिया" जैसा कि वास्तविक पृष्ठ में शामिल है, न कि एक मोडल विंडो के रूप में। यहाँ प्लगइन मुझे बस करने के लिए मिला: wordpress.org/extend/plugins/simplr-registration-form
Pippin

ओह समझा। यह मेरे दिमाग को पार नहीं करता था कि मोडल विंडो एक समस्या पेश करेगी, लेकिन मैं अब देख सकता हूं कि इसके लिए जगह कहां है और नहीं। प्लगइन लिंक के लिए धन्यवाद, मेरे शस्त्रागार में फेंक रहा है। खुशी है कि आपको अपना उत्तर मिला :)
लिन

0

आप थीम मेरा लॉगिन प्लगइन का उपयोग कर सकते हैं


ऐसा लगता है कि आपका प्लगइन बहुत अच्छा काम कर सकता है, सिवाय इसके कि मुझे काम करने के लिए रजिस्टर फॉर्म नहीं मिल सकता है। लॉगिन फ़ॉर्म ठीक दिखाता है, लेकिन जब मैं रजिस्टर फॉर्म में जाने की कोशिश करता हूं, तो यह मुझे डिफ़ॉल्ट वर्डप्रेस में ले जाता है। क्या पेज में केवल रजिस्टर फॉर्म प्रदर्शित करने का कोई तरीका है?
पिप्पिन

Thats not my plugin मैंने लिखा है: P
Tareq

0

यहाँ मैंने एक अच्छा और आसान तरीका दिया है:

वर्तमान वर्डप्रेस पंजीकरण फॉर्म से फ़ील्ड के नाम और किसी भी अन्य सामान की प्रतिलिपि बनाएँ। सुनिश्चित करें कि आपके कस्टम फ़ॉर्म में छिपे हुए नाम सहित समान नाम फ़ील्ड हैं और फिर फ़ॉर्म कार्रवाई को उचित पंजीकरण url पर इंगित करें: http://www.yourblog.com/wp-login.php?action=register - तब आप चाहते हो सकते हैं यह बदलने के लिए कि पंजीकरण के बाद फॉर्म कैसे पुनर्निर्देशित करता है यदि आपको यह पसंद नहीं है कि इसे कैसे संभाला जाए।

इनसाइट लॉगिन नामक यह प्लगइन भी है जो आपको पंजीकरण फॉर्म, लॉगिन फ़ॉर्म और अन्य को आपकी साइट के पृष्ठों में छोड़ने की अनुमति देता है: http://wordpress.org/extend/plugins/insitelogin/

पहला समाधान आपको वही करना चाहिए जो आप करना चाहते हैं।


0

यदि आपको अपने पंजीकरण फॉर्म पर अधिक फ़ील्ड की आवश्यकता है तो आप प्रोफ़ाइल बिल्डर प्लगइन का उपयोग कर सकते हैं

यह आपको शॉर्टकोड के उपयोग के माध्यम से लॉगिन, रजिस्टर और संपादन-प्रोफाइल के लिए फ्रंट-एंड फॉर्म जोड़कर अपनी वेबसाइट को अनुकूलित करने देता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.