उपयोगकर्ता प्रोफ़ाइल पृष्ठ पर कस्टम फ़ॉर्म फ़ील्ड कैसे जोड़ें?


29

उपयोगकर्ता प्रोफ़ाइल पृष्ठ में निम्नलिखित फ़ील्ड हैं:

उपयोगकर्ता नाम
पहले नाम
अंतिम नाम
उपनाम प्रदर्शन नाम संपर्क जानकारी ई-मेल वेबसाइट AIM याहू IM
Jabber / Google टॉक

इस अनुभाग में और फ़ील्ड कैसे जोड़े जा सकते हैं। फ़ील्ड जैसे फ़ोन नंबर, पता, या कुछ और।

जवाबों:


37

आप उपयोग करने की आवश्यकता 'show_user_profile', 'edit_user_profile', 'personal_options_update'और 'edit_user_profile_update'हुक।

फ़ोन नंबर जोड़ने के लिए यहां कुछ कोड दिए गए हैं :

add_action( 'show_user_profile', 'yoursite_extra_user_profile_fields' );
add_action( 'edit_user_profile', 'yoursite_extra_user_profile_fields' );
function yoursite_extra_user_profile_fields( $user ) {
?>
  <h3><?php _e("Extra profile information", "blank"); ?></h3>
  <table class="form-table">
    <tr>
      <th><label for="phone"><?php _e("Phone"); ?></label></th>
      <td>
        <input type="text" name="phone" id="phone" class="regular-text" 
            value="<?php echo esc_attr( get_the_author_meta( 'phone', $user->ID ) ); ?>" /><br />
        <span class="description"><?php _e("Please enter your phone."); ?></span>
    </td>
    </tr>
  </table>
<?php
}

add_action( 'personal_options_update', 'yoursite_save_extra_user_profile_fields' );
add_action( 'edit_user_profile_update', 'yoursite_save_extra_user_profile_fields' );
function yoursite_save_extra_user_profile_fields( $user_id ) {
  $saved = false;
  if ( current_user_can( 'edit_user', $user_id ) ) {
    update_user_meta( $user_id, 'phone', $_POST['phone'] );
    $saved = true;
  }
  return true;
}

यह कोड आपकी उपयोगकर्ता स्क्रीन पर एक फ़ील्ड जोड़ देगा जो कुछ इस तरह दिखता है:

इस विषय पर कई ब्लॉग पोस्ट उपलब्ध हैं जो सहायक हो सकते हैं:

या यदि आप रोल-न करना पसंद करते हैं, तो ऐसे प्लगइन्स हैं जो निम्नलिखित जैसी सुविधाओं को जोड़ते हैं (हालांकि मुझे यकीन है कि अन्य लोग भी हैं):


माइक, मैं मुसीबत का एक गुच्छा में भाग गया बचाने के लिए मेरे संशोधन मिलता है। जब मैंने पूरी तरह से "खोज और प्रतिस्थापित" किया तो मैंने आखिरकार इसे नस्ट कर दिया। मेरे भविष्य के संदर्भ के लिए, एक सटीक मैच होने के लिए "नाम" और "शीर्षक" फ़ील्ड आवश्यक हैं?
जोनाथन

@ जोनाथन वॉल्ड - "सटीक नाम होने के लिए" नाम "और" शीर्षक "फ़ील्ड आवश्यक हैं?" आपने मुझे यह बताने के लिए पर्याप्त संदर्भ नहीं दिया कि मुझे कैसे पता चले। और आप एक नया प्रश्न बनाना चाहते हैं ।
माइकस्किंकेल

1
@MikeSchinkel Cimy उपयोगकर्ता अतिरिक्त फ़ील्ड कोई अच्छी अनुशंसा नहीं है। समर्थन वास्तव में नहीं है और कोड है ... एचएम।
kaiser

8
// remove aim, jabber, yim 
function hide_profile_fields( $contactmethods ) {
    unset($contactmethods['aim']);
    unset($contactmethods['jabber']);
    unset($contactmethods['yim']);
    return $contactmethods;
}

// add anything else
function my_new_contactmethods( $contactmethods ) {
    //add Birthday
    $contactmethods['birthday'] = 'Birthday';
    //add Address
    $contactmethods['address'] = 'Address';
    //add City
    $contactmethods['city'] = 'City';
    //add State
    $contactmethods['state'] = 'State';
    //add Postcode
    $contactmethods['postcode'] = 'Postcode';
    //add Phone
    $contactmethods['phone'] = 'Phone';
    //add Mobilphone
    $contactmethods['mphone'] = 'Mobilphone';

    return $contactmethods;
}
add_filter('user_contactmethods','my_new_contactmethods',10,1);
add_filter('user_contactmethods','hide_profile_fields',10,1);

उम्मीद है की यह मदद करेगा।

स्रोत: WPBeginner

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