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

בשלב הראשון ניצור קובץ חדש שנקרא comments.php, קובץ זה הוא קובץ תבנית אשר אחראי על ההצגה של טופס הוספת תגובה ועל הצגת התגובות במאמר ספציפי.

הצגת טופס השארת תגובה

וורדפרס מאפשרת לנו להציג את טופס השארת התגובה בצורה פשוטה מאוד ע״י שימוש בפונקציה comment_form(). נפתח את הקובץ שיצרנו (comments.php) ונדביק את הקוד הבא:

<!-- Comment Form -->
<?php comment_form( [
	'comment_notes_before' => false,
	'logged_in_as'         => false
] ); ?>
<!-- /Comment Form -->

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

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

הצגת תגובות הפוסט

לאחר שאנו מציגים את הטופס השארת תגובה, עלינו לאפשר את הצגת התגובות, נוכל לעשות זאת ע״י שימוש בפונקציה wp_list_comments, נפתח את קובץ comments.php ונדביק את הקוד הבא בסוף הקובץ:

<?php $total_comments = get_comments_number(); ?>

<?php if ( $total_comments ) : ?>

	<div class="comment-list-wrapper">
		<h3 class="sr-only"><?php printf( _n( 'One Comment', '%s Comments', $total_comments, 'solid-state' ), $total_comments ); ?></h3>
		<ol class="comment-list">

			<?php
			wp_list_comments( [
				'max_depth'   => 2,
				'avatar_size' => 64,
				'style'       => 'ol',
				'type'        => 'comment'
			] );
			?>

		</ol>
	</div>

<?php endif; ?>

בתור התחלה, אנו מבקשים לקבל את כמות התגובות שיש בפוסט ע״י שימוש בפונקציה get_comments_number() ולפי הערך שיוחזר נדע האם להדפיס את איזור התגובות, ואת הכותרת של האיזור.

לאחר מכן, אנו משתמשים בפונקציה _n על מנת להדפיס את כותרת של כמות התגובות שיש בפוסט, במידה ויש רק תגובה אחת, יודפס ״One Comment״ במידה ויש יותר, יודפס "X Comments" כאשר במקום X יהיה את מספר התגובות.

לבסוף אנו קוראים לפונקציה wp_list_comments ומעבירים לה מספר הגדרות אשר ישפיעו על פלט הפונקציה, בדוגמא שלנו, אנו מבקשים להדפיס תגובות עד עומק 2 (כלומר תגובה של תגובה), מגדירים שה-Gravatar שיודפס יהיה בגודל של 64 על 64 פיקסלים. בנוסף, אנו מגדירים שתגובות צריכות להיות מודפסות כרשימה (ol).

הצגת התגובות בעמוד פוסט

כעת לאחר שבנינו את הטופס ואת התגובות, עלינו להציג את פלט הקובץ במיקום הרצוי, לכן נפתח את הקובץ שיצרנו במאמר הקודם, single-post.php ולאחר קוד הניווט בין הפוסטים, נדביק את הקוד הבא:

<!-- Post Comments -->
<?php comments_template(); ?>
<!-- /Post Comments -->

הוספת אפשרות להגיב לתגובה

בשלב האחרון אנחנו צריכים לאפשר לגולש להגיב לתגובה מסויימת, למזלנו, גם פה הפתרון הוא קל, נפתח את קובץ הפונקציות functions.php ונחפש את הפונקציה solid_register_theme_assets() שבנינו בחלקים הקודמים, ובסופה נוסיף את הקוד הבא:

if ( is_singular( 'post' ) ) {
	wp_enqueue_script( 'comment-reply' );
}

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

סיכום

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

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

    כתיבת תגובה

    1. Adiel

      מצויין. תודה.
      יש אפשרות שהמגיבים יקבלו התראה באימייל על תגובות על התגובה שלהם?

      הגב
      1. דור צוברי

        היי עדיאל,
        אין משהו מובנה, זה או לפתח מנגנון כזה, או להשתמש בתוסף Jetpack.

    2. שקד

      כשאני מכניסה את הקוד זה אומר לי שיש טעות בקוד בשורה 1.

      הגב
      1. דור צוברי

        אהלן שקד 👋,
        לאיזה קוד בדיוק את מתייחסת?

    3. אסתר

      היי
      זה נראה מדריך ממש פשוט להבנה תודה רבה.
      מה עם קובץ style.css?

      הגב
      1. דור צוברי

        היי אסתר 👋,
        המדריך הוא מאוד בסיסי, הוא לא מתייחס לנראות, אלא נטו פונקציונליות.

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

    שתפו