צור שדות יצירת קשר משלך וורדפרס משלך

היום יצרתי עבורך תוסף חדש. תוסף העוסק בשיטות יצירת קשר של משתמשים. בעיקרון כשאתה עורך משתמש בממשל, יש חסימת “פרטי קשר”. ובכן, אני רוצה להראות לך כיצד להוסיף שדות משלך שם, ולהרחיק מעט יותר כיצד להציג (או לא) את השדות החדשים האלה בדף ההרשמה..


להלן תצוגה מקדימה של מה שאנחנו הולכים ליצור:

שדות עריכה-התאמה אישית

שדות משתמשים חדשים בדף העריכה

שדות בהתאמה אישית

שדות מותאמים אישית בדף ההרשמה

וכדי לעשות זאת, כרגיל, אנו ניצור תוסף נחמד ופשוט!

שלב 1: צור את התוסף

צור תיקיה חדשה ב- wp-content / plugins וקרא לה “שיטות משתמש-אישית-איש קשר”. בתוך תיקיה חדשה זו שנוצרה, צור קובץ בשם “rc-custom-user-contact-method.php” ופתח אותו בתוכנת העורך המועדפת עליך..

מקם תוכן זה בקובץ הריק שלך. קוד זה פשוט רושם את התוסף:

שלב 2: הגדר את השדות המותאמים אישית שלך

בשלב הבא עלינו ליצור משתנה שיכיל את השדות המותאמים אישית שלנו, אלה שישמשו בדף מהדורת המשתמש, וגם בדף ברירת המחדל של הרישום. בואו לאחסן שדות אלה במשתנה שנקרא $ extra_fields.

$ extra_fields = מערך (
מערך ('facebook', __ ('שם משתמש בפייסבוק', 'rc_cucm'), נכון),
מערך ('טוויטר', __ ('שם משתמש בטוויטר', 'rc_cucm'), נכון),
מערך ('googleplus', __ ('מזהה Google+', 'rc_cucm'), נכון),
מערך ('קישורין', __ ('מקושר במזהה', 'rc_cucm'), שקר),
מערך ('pinterest', __ ('שם משתמש Pinterest', 'rc_cucm'), שקר),
מערך ('wordpress', __ ('שם משתמש של WordPress.org', 'rc_cucm'), שקר),
מערך ('טלפון', __ ('מספר טלפון', 'rc_cucm'), נכון)
);

אנו מאחסנים כל שדה במערך הכולל 3 פרמטרים, הראשון הוא מזהה השדה, השני הוא תווית השדה, והשני הוא מידע בוליאני המגדיר אם השדה מוצג בדף ההרשמה או לא . אתה יכול להוסיף כמה פרמטרים שתרצה, למשל מציין מיקום או מידע נדרש.

שלב 3: הוק את המסנן הנכון

כעת עלינו לחבר פונקציה למסנן הנכון. במקרה הספציפי שלנו, המסנן הוא "user_contactmethods", ושם הפונקציה שאנחנו הולכים ליצור הוא "rc_add_user_contactmethods".

// השתמש ב- user_contactmethods כדי להוסיף שדות חדשים
add_filter ('user_contactmethods', 'rc_add_user_contactmethods');

שלב 4: צור את השדות המותאמים אישית שלנו

כעת עלינו ליצור את הפונקציה "rc_add_user_contactmethods". זה זה שיוסיף את השדות המותאמים אישית שלנו לדף עריכת המשתמש. החדשות הטובות הן שאחסנו את השדות שלנו במערך, זה אומר שהפונקציה הבאה תהיה דינאמית לחלוטין, ויהיה די קל להוסיף שדות חדשים רק על ידי שינוי המשתנה $ extra_fields.

/ **
* הוסף למשתמשים שיטות יצירת קשר בהתאמה אישית
*
* @ גישה ציבורית
* @ Prince 1.0
* @ חזרה לבטל
* /
פונקציה rc_add_user_contactmethods ($ user_contactmethods) {

// קבל שדות
שדות חוץ נוספים גלובליים;

// הצגת כל שדות
foreach ($ extra_fields כשדה $) {
if (! isset ($ contactmethods [$ field [0]]))
$ user_contactmethods [$ field [0]] = $ field [1];
}

// מחזירה את שיטות יצירת הקשר
להחזיר $ user_contactmethods;
}

בשלב זה, אם אתה שומר ומפעיל את התוסף, עליך לראות את השדות המותאמים אישית שלך בדף עריכת המשתמש. כאשר אנו משתמשים בוו הנכון, איננו צריכים ליצור נתוני שדות "שמור". אז התוסף עובד נהדר כרגע. אבל אני רוצה להמשיך קצת ולהוסיף את האפשרות להציג את השדות האלה בדף ההרשמה. ודא שאתה מסמן תחת ההגדרות את תיבת הסימון "כל אחד יכול לרשום", אחרת לא תוכל לראות את הקישור "הרשמה".

שלב 5: ווים לדפי רישום

כדי להוסיף את השדות שלנו בדף ההרשמה, עלינו לגשת לפחות לשני ווים וליצור שני פונקציות. האחת להצגת השדות והשנייה לשמירת נתוני השדות במסד הנתונים.

בואו נתלה את הפונקציות שלנו:

// הוסף את השדות שלנו לתהליך ההרשמה
add_action ('register_form', 'rc_register_form_display_extra_fields');
add_action ('user_register', 'rc_user_register_save_extra_fields', 100);

שלב 6: הצגת דף רישום של שדות מותאמים אישית

בקוד לעיל הכרזנו על שתי פונקציות. הראשון הוא הצגת השדות בדף ההרשמה. בחלק זה עלינו לדאוג לפרמטר השלישי של כל מערך ב- $ extra_fields. פרמטר בוליאני זה אומר אם יש להציג את השדות או לא. נכון: השדה מוצג, לא נכון: השדה לא מוצג.

/ **
* הצג שדות מותאמים אישית בדף ההרשמה
*
* הצג שדות מותאמים אישית ברישום אם הפרמטר השלישי מוגדר לאמת
*
* @ גישה ציבורית
* @ Prince 1.0
* @ חזרה לבטל
* /
פונקציה rc_register_form_display_extra_fields () {

// קבל שדות
שדות חוץ נוספים גלובליים;

// הצגת כל שדה אם הפרמטר השלישי מוגדר כ- "true"
foreach ($ extra_fields כשדה $) {
if (שדה $ [2] == true) {
$ field_value = isset ($ _POST [$ field [0]])? $ _POST [שדה $ [0]]: '';
הד '

'; } // endif } // סוף מקדים }

שלב 7: אחסן ערכי שדות בתהליך ההרשמה

כעת, כאשר השדות שלנו מוצגים בדף ההרשמה, אנו צריכים לאחסן את ערכיהם במאגר. זו המשימה של הפונקציה "rc_user_register_save_extra_fields". לשם כך עלינו להשתמש בסמל "wp_update_user ()פונקציה.

/ **
* שמור ערכי שדה
*
* @ גישה ציבורית
* @ Prince 1.0
* @ חזרה לבטל
* /
פונקציה rc_user_register_save_extra_fields ($ user_id, $ password = '', $ meta = array ()) {

// קבל שדות
שדות חוץ נוספים גלובליים;

$ userdata = מערך ();
$ userdata ['ID'] = $ user_id;

// שמור כל שדה
foreach ($ extra_fields כשדה $) {
if (שדה $ [2] == true) {
$ userdata [$ field [0]] = $ _POST [$ field [0]];
} // endif
} // סוף מקדים

$ new_user_id = wp_update_user ($ userdata);
}

סיכום

ובכן, ראינו את היסודות כיצד להוסיף שדות חדשים לשיטות יצירת הקשר של המשתמשים, אבל זה הכל. אתה יכול למשל להסיר שדות קיימים כמו "Yahoo IM", "AIM" ו- "Jabber" בביצוע מערך פשוט (). אבל אתה יכול גם להוסיף כמה פונקציות לחידוש השדות המותאמים אישית שלך על מנת לבדוק אם מספר הטלפון כולל פורמט מתאים, אם שדה נדרש או לא וכו 'וכו' ... אל תהסס לבקש תכונות ספציפיות בתגובות!

אה, ודבר אחרון ... אם אתה רוצה להציג את הנתונים של אחד מהתחומים שלך, פשוט השתמש בזה:

// Param 1 הוא מזהה משתמש
// Param 2 הוא מזהה שדה
// Param 3 הוא שם כדי לקבל var או מערך
הד get_user_meta (1, 'טוויטר', נכון);  
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me

    Like this post? Please share to your friends:
    Adblock
    detector
    map