מעקב אחר גירסאות בוורדפרס 2.6 (ולמה זה טוב בכלל?)

פוסט אורח מאת שרון גפן

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

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

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

גירסאות קודמות לפוסט

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

שמירה אוטומטית

במידה ונרצה להשוות בין הגירסאות השונות, ניגש את אחת מהגירסאות המופיעות ברשימה, ונלחץ על "להשוות גרסאות" (Compare Revisions), לצפייה בהבדלים בין שתי הגירסאות:

השוואה בין גירסאות

על מנת לעבור לגירסה קודמת של הפוסט, נלחץ פשוט על "לשחזר" (Restore)

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

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

איך בכל זאת מבטלים את האפשרות הזו?
פותחים את הקובץ wp-config.php (לא לפני ששמרתם בצד עותק לגיבוי, כן?), ומוסיפים לשם את השורה הבאה:

1
define(’WP_POST_REVISIONS’, false);

וחלאס, אין יותר גיבויים (אפשרות השמירה האוטומטית אינה מבוטלת).

או שאפשר פשוט להוריד את תוסף Revision Control ממאגר התוספים, וכך לשלוט במספר הגירסאות שוורדפרס שומר לכל פוסט, או לבטל לגמרי את האפשרות.

האם עדיף לעבוד עם גירסאות או לא?
זה כבר תלוי בכם ובהרגלי העבודה שלכם…

לקריאה נוספת:
Disable and Turn Off Post Revisions Tracking in WordPress 2.6 or Above
Revision Management – בקודקס של וורדפרס

025 מעקב אחר גירסאות בוורדפרס 2.6 (ולמה זה טוב בכלל?) נהניתם ? הרשמו לעדכוני RSS !

על עדכוני גרסאות ובעיות בדרך

כתבתי בעבר פוסט "10 צעדים לעדכון גרסת וורדפרס".
הצעד הרביעי היה כיבוי כל התוספים.

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

תוך נסיון לחקור חיפשתי חוקיות בין הפוסטים השונים – אין
תווי בקרה לא הגיוניים – אין
בעיות ומגבלות בתבנית – כנ"ל

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

הבעיה התגלתה כנובעת מהתוסף simple tags שפשוט היה בגרסה שלא תומכת בוורדפרס 2.5, עדכנתי את התוסף, הדלקתי – והכל עובד.

025 על עדכוני גרסאות ובעיות בדרך נהניתם ? הרשמו לעדכוני RSS !

הדגשת תגובות מנהל הבלוג (או כותב הפוסט)

כפי שניתן לראות בתגובות לפוסטים השונים אצלי בבלוג הוספתי הדגשה (על ידי צבע רקע) לתגובות שנכתבו על ידי.
אני עשיתי את השינויים ידנית בקוד, אבל יש שלושה תוספים שעושים אותם חצי אוטומטית.
תוסף אחד בשם comments custom display, השני Author Highlight והשלישי bm comment highlight
לרוע המזל שלושתם מצריכים עדיין שינויי קוד בתבנית ועל כן אני אישית לא רואה הבדל גדול בינם לבין השינוי הידני.

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

התאוריה

על מנת להדגיש את התגובות של כותב הפוסט או מנהל הבלוג (עניין של הגדרה) צריך לדעת לזהות אותו ובמקרה שהוא כותב התגובה להוסיף (או להחליף) לה איזשהו class של css שישנה את העיצוב שלה בהתאם.
השינויים הנדרשים הם:
1. שינוי קוד בקובץ comments.php על מנת לזהות את כותב התגובה ולהוסיף את ה-class הרצוי
2. הוספת העיצוב עצמו בקובץ ה-css של התבנית.

איך עושים את זה

1. זיהוי כותב התגובה
הנחת הבסיס כאן היא שאנחנו מזהים את כותב התגובה ע"פ כתובת המייל שלו
ע"כ הקוד בו נשתמש יהיה:
[sourcecode language='php']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']

  • " id="comment-">[/sourcecode]
    שימו לב שבמקרה שלפנינו כבר הייתה התייחסות לעיצוב התגובה ולכן רק הוספתי את העיצוב החדש, במקרים אחרים יתכן שיהיה צורך להוסיף את כל ההתיחסות כלומר:
    [sourcecode language='php']class=""[/sourcecode]

    3.הוספת העיצוב לקובץ העיצוב
    זה החלק הפשוט. בסוף קובץ העיצוב (style.css) יש להוסיף את העיצוב החדש והשונה.
    במקרה שלי ההבדל היה רק בצבע הרקע וע"כ נראה כך:
    [sourcecode language='css'] .author { background-color: #D8E4FC } [/sourcecode]
    ניתן כמובן להוסיף לכל העסק מאפיינים נוספים אחרים בהתאם לרצונכם.

    17.4.08 עדכון: בהתאם להערה של רן וכיוון שהרעיון היה להדגיש את התגובות של כותב הפוסט (ולאו דווקא מנהל הבלוג) עשיתי חיפוש קטן, השינויים הדרושים בקוד שלמעלה הם:
    1. החלפת דוא"ל כותב התגובה במזהה המשתמש שלו בבלוג
    2. החלפת דוא"ל כותב הפוסט במזהה המשתמש שלו בבלוג
    במקום הקוד:
    [sourcecode language='php']comment_author_email)
    $myclass = ' author'; ?>[/sourcecode]
    הקוד ייראה כך:
    [sourcecode language='php']post_author == $comment->user_id)
    $myclass = ' author'; ?>[/sourcecode]

    025 הדגשת תגובות מנהל הבלוג (או כותב הפוסט) נהניתם ? הרשמו לעדכוני RSS !