כללי | ברוך הבא

תוסף תחרות פופולריות - כעת עובד

11 07 2008

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

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

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

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

Firestats אינו מותקן אצלי , ולא רציתי להתקין משהו נוסף, כבר יש לי מספיק תוספים.

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

אבל כל מה שהייתי צריך לדעת זה שהבעייה היא תאימות גרסאות!

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

שלב 1:
אם זאת הפעם הראשונה שאתם משתמשים בתוסף (כמו במקרה שלי) אתם תצטרכו ליצור את 2 הטבלאות עליהן מתבסס התוסף. אם כבר הפעלתם את התוסף בעבר ורק כאשר שדרגתם את וורדפרס נוצרה הבעייה אתם יכולים לדלג על שלב זה. גשו אל phpMyAdmin ע"מ להפעיל את השאילתא הבאה, אם אתם לא יודעים מה זה, פשוט תפעילו את השאילתא מאיפה שאתם בד"כ מריצים שאילתות SQL, דרך דף PHP או פשוט יותר, השאירו תגובה עם פרטים וננסה לעזור. למי שמעוניין מצאתי מדריך קצר למתחילים המראה כיצד להריץ שאילתות דרך phpMyAdmin.

הריצו את השאילתא הבאה ליצירת 2 הטבלאות:

  1. CREATE TABLE IF NOT EXISTS `wp_ak_popularity` (
  2. `post_id` INT( 11 ) NOT NULL ,
  3. `total` INT( 11 ) NOT NULL ,
  4. `feed_views` INT( 11 ) NOT NULL ,
  5. `home_views` INT( 11 ) NOT NULL ,
  6. `archive_views` INT( 11 ) NOT NULL ,
  7. `category_views` INT( 11 ) NOT NULL ,
  8. `single_views` INT( 11 ) NOT NULL ,
  9. `comments` INT( 11 ) NOT NULL ,
  10. `pingbacks` INT( 11 ) NOT NULL ,
  11. `trackbacks` INT( 11 ) NOT NULL ,
  12. `last_modified` DATETIME,
  13. KEY `post_id` ( `post_id` )
  14. ) ENGINE = MYISAM ;
  15. CREATE TABLE IF NOT EXISTS `wp_ak_popularity_options` (
  16. `option_name` VARCHAR( 50 ) NOT NULL ,
  17. `option_value` VARCHAR( 50 ) NOT NULL
  18. ) ENGINE = MYISAM ;

שימו לב!

שאילתות הSQL שלעיל כתובות בהנחה שהתחילית (prefix) של הטבלאות של וורדפרס זה 'wp_'.
אם אינני טועה זה ערך ברירת המחדל, מטעמי בטיחות תמיד מומלץ לשנות ערכי ברירת מחדל כמו תחיליות אז אם שיניתם, שנו גם כאן את שמות הטבלאות בשורה הראשונה ובשורה הרביעית מלמטה.
למי שלא יודע שיפתח את מסד הנתונים דרך phpMyAdmin או בכל צורה אחרת, ניתן לשים לב שכל הטבלאות הקשורות לוורדפרס מתחילות במספר תווים זהים - זה בעצם התחילית, אם לא ניתן לזהות מס' תווים שחוזרים על עצמם בתחילת שם של כל טבלה כנראה שאין תחילית, במקרה זה פשוט מחקו את התווים 'wp_' מהשאילתות שלעיל.

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

שאילתת SQL שלך בוצעה בהצלחה

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

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

  1. require('../../wp-blog-header.php');

לזה-

  1. @require('../wp-blog-header.php');

מצטער אבל לא היה לי כוח לסיים את הפוסט כמו שצריך…
ניתן לעשות חיפוש בגוגל ע"מ לראות את המקורות באנגלית,
הנה חלק מהקישורים:
http://wpguy.com/tips/popularity-contest-plugin-compatibility-with-wordpress-25/
http://immike.net/blog/2007/05/03/making-popularity-contest-play-nice-with-wp-cache/
http://www.kenmc.com/2008/03/30/wordpress-25-is-live-and-wild-plus-popularity-contest-notes/
http://wordpress.org/support/topic/163895

בהצלחה!

Popularity: 100% [?]