הוספת שדות לפרופיל משתמש בוורדפרס

שדות מותאמים לדוגמה

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

סדר הפעולות

  1. ניצור קובץ שיכיל את הפונקציה החדשה שלנו
  2. נבנה את הפונקציה החדשה בתוך הקובץ שיצרנו
  3. נכלול את הקובץ אל התבנית שלנו בתוך Functions.php
  4. נריץ הכל ונוודא שהכל פועל (בצורה חלקה).
  5. נלמד איך מחזירים את המידע בחלק הקדמי של האתר

ניצור קובץ שיכיל את הפונקציה הרצויה

ראשית, עלינו לגשת לתיקייה של התבנית שלנו וניצור קובץ חדש בשם extra-user-fields.php את הקובץ כדאי למקם בתוך תיקייה כלשהיא למען הסדר הטוב. אצלי הוא ממוקם בתוך תיקייה אשר נקראת functions

בתוך הקובץ החדש שלנו נוסיף את הפונקציה הבאה:

	<?php
	/**********************************************************
	**	ADD NEW FIELDS TO USER PROFILE
	**********************************************************/
	add_action('show_user_profile', 'sgx_extra_user_fields');
	add_action('edit_user_profile', 'sgx_extra_user_fields');
	function sgx_extra_user_fields($user) {
		?>
		<h3><?php _e('Additional User Fields'); ?></h3>

		<table class="form-table">
			<tr>
				<th><label for="twitter_profile"><?php _e('Twitter Profile'); ?></label></th>
				<td><input type="text" name="twitter_profile" value="<?php echo esc_attr(get_the_author_meta('twitter_profile', $user->ID )); ?>" class="regular-text" /></td>
			</tr>
			<tr>
				<th><label for="google_profile"><?php _e('Google+ Profile'); ?></label></th>
				<td><input type="text" name="google_profile" value="<?php echo esc_attr(get_the_author_meta('google_profile', $user->ID )); ?>" class="regular-text" /></td>
			</tr>
			<tr>
				<th><label for="facebook_profile"><?php _e('Facebook Profile'); ?></label></th>
				<td><input type="text" name="facebook_profile" value="<?php echo esc_attr(get_the_author_meta('facebook_profile', $user->ID )); ?>" class="regular-text" /></td>
			</tr>
		</table>
		<?php
	}


	/**********************************************************
	**	SAVE NEW FIELDS IN USER PROFILE
	**********************************************************/
	add_action('personal_options_update', 'sgx_save_extra_user_fields');
	add_action('edit_user_profile_update', 'sgx_save_extra_user_fields');

	function sgx_save_extra_user_fields($user_id) {
		update_user_meta($user_id, 'facebook_profile', sanitize_text_field( $_POST['facebook_profile']));
		update_user_meta($user_id, 'twitter_profile', sanitize_text_field( $_POST['twitter_profile']));
		update_user_meta($user_id, 'google_profile', sanitize_text_field( $_POST['google_profile'] ));
	}
	?>
	

נכלול בקובץ Functions.php ונוודא שהכל תקין

כעת, לאחר שיצרנו את הקובץ (ואולי גם תיקייה מתאימה) נעלה את הכל לשרת שלנו ונכלול את הקובץ אשר מכיל את הפונקציה החדשה אל תוך הקובץ Functions.php.

שורת ההכללה נראית כך

למען האמת, אם אתם לא יודעים להכליל קובץ PHP המדריך הזה לא בשבילכם

include(get_template_directory_uri().'/functions/extra-user-fields.php');

נתחבר ונבדוק שהכל תקין

כעת לאחר שעדכנתם את הקובץ Functions.php עם שורת ההכללה שקוראת לקובץ בו הפונקציה החדשה שלנו הגיע הזמן לראות שהכל תקין. היכנסו לממשק הניהול של האתר שלכם, רחפו מעל התפריט משתמשים ובחרו פרופיל אישי. מעתה צריכים להופיע עוד 3 שדות חדשים, מוכנים וממתינים למידע רלוונטי (במקרה זה כתובות של החשבונות החברתיים שלכם).

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

איך מחזירים את המידע מהשדות החדשים שלנו?

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

במיקום הרצוי נוכל להציג את המידע בצורה כזאת

	$user_gplus = get_the_author_meta('google_profile', $userID);

	echo 'User google plus Profile:'.$user_gplus;
	

אני מקווה שהצלחתם!

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

  • אהבתם? שתפו!