כפי שניתן לראות בתגובות לפוסטים השונים אצלי בבלוג הוספתי הדגשה (על ידי צבע רקע) לתגובות שנכתבו על ידי.
אני עשיתי את השינויים ידנית בקוד, אבל יש שלושה תוספים שעושים אותם חצי אוטומטית.
תוסף אחד בשם comments custom display, השני Author Highlight והשלישי bm comment highlight
לרוע המזל שלושתם מצריכים עדיין שינויי קוד בתבנית ועל כן אני אישית לא רואה הבדל גדול בינם לבין השינוי הידני.
חשוב לי לציין לטובה את התוסף השלישי המצריך שינוי יחסית מינימלי בתבנית והכולל זיהוי של סוגים שונים של משתמשים. אם בכל זאת אתם רוצים להבין איך העסק עובד, ההסבר לפניכם.
התאוריה
על מנת להדגיש את התגובות של כותב הפוסט או מנהל הבלוג (עניין של הגדרה) צריך לדעת לזהות אותו ובמקרה שהוא כותב התגובה להוסיף (או להחליף) לה איזשהו class של css שישנה את העיצוב שלה בהתאם.
השינויים הנדרשים הם:
1. שינוי קוד בקובץ comments.php על מנת לזהות את כותב התגובה ולהוסיף את ה-class הרצוי
2. הוספת העיצוב עצמו בקובץ ה-css של התבנית.
איך עושים את זה
1. זיהוי כותב התגובה
הנחת הבסיס כאן היא שאנחנו מזהים את כותב התגובה ע"פ כתובת המייל שלו
ע"כ הקוד בו נשתמש יהיה:
[sourcecode language='php'] if ( get_the_author_email() == $comment->comment_author_email)
$myclass = ' author'; ?>[/sourcecode]
בקצרה: אנחנו בודקים אם כתובת הדוא"ל של המגיב זהה לזו של כותב הפוסט.
הפונקציה get_the_author_email מחזירה את כתובת המייל של כותב הפוסט ואילו המשתנה $comment->comment_author_email מכיל את כתובת המייל של המגיב, אם אלו זהות – נסמן את התגובה.
את שורת הקוד שלמעלה יש לשים בתוך לולאת התגובות לפני הדפסת איבר התגובה, כלומר לאחר השורה:
[sourcecode language='php'][/sourcecode]
2. הוספת הזיהוי לתגובה עצמה
בכל תבנית שהיא יש לנו רשימה של תגובות המיוצגות ע"י איברים זהים (li או div כתלות בתבנית) כל שעלינו לעשות הוא להוסיף לתגובות הללו את אפיון העיצוב החדש שלנו myclass
כלומר הקוד של ראשית התגובה יהפוך מהמקור:
[sourcecode language='php']
שימו לב שבמקרה שלפנינו כבר הייתה התייחסות לעיצוב התגובה ולכן רק הוספתי את העיצוב החדש, במקרים אחרים יתכן שיהיה צורך להוסיף את כל ההתיחסות כלומר:
[sourcecode language='php']class=""[/sourcecode]
3.הוספת העיצוב לקובץ העיצוב
זה החלק הפשוט. בסוף קובץ העיצוב (style.css) יש להוסיף את העיצוב החדש והשונה.
במקרה שלי ההבדל היה רק בצבע הרקע וע"כ נראה כך:
[sourcecode language='css'] .author { background-color: #D8E4FC } [/sourcecode]
ניתן כמובן להוסיף לכל העסק מאפיינים נוספים אחרים בהתאם לרצונכם.
17.4.08 עדכון: בהתאם להערה של רן וכיוון שהרעיון היה להדגיש את התגובות של כותב הפוסט (ולאו דווקא מנהל הבלוג) עשיתי חיפוש קטן, השינויים הדרושים בקוד שלמעלה הם:
1. החלפת דוא"ל כותב התגובה במזהה המשתמש שלו בבלוג
2. החלפת דוא"ל כותב הפוסט במזהה המשתמש שלו בבלוג
במקום הקוד:
[sourcecode language='php'] if ( get_the_author_email() == $comment->comment_author_email)
$myclass = ' author'; ?>[/sourcecode]
הקוד ייראה כך:
[sourcecode language='php'] if ( $post->post_author == $comment->user_id)
$myclass = ' author'; ?>[/sourcecode]
נהניתם ? הרשמו לעדכוני RSS !