מבוא
הוספת כמות צפיות לאתר מאפשרת לבעלי האתר לעקוב אחרי פופולריות התוכן שלהם ולהבין את העדפות של הגולשים. נתוני צפיות מאפשרים לבצע ניתוח מעמיק של התוכן ולבצעה שיפורים בעתיד.
כלים רבים לניתוח נתונים באתר עוזרים לנתח את סטטיסטיקה אך הם מצריכים הבנה וזמן ניתוח. לרוב בעל אתר צריך משהו פשוט כדי לקבל החלטות מהירות ולבצע שיפורים מקומיים.
בפוסט הזה אני רוצה לכתוב קוד קצר שמאפשר יצירה בהצגה של כמות צפיות באתר. את היישום ניתן לראות בתקציר המאמר למעלה.
תוספים בספריית וורדרפס
בספריית תוספים של וורדרפס יש לא מעט תוספים שמתאים לפי דרישות השונות. חלק מהתוספים מעודכנים ומתאימים לגרסה האחרונה ביותר חלק לא מעודכנים כבר הרבה מאוד שנים.
תוספים רבים מביאים איתם לא מעט אפשרויות: בלוקים של גוטנברג, תצוגה יפה, הגדרות נוספות וכו… רובם עושים את העבודה על הצד הטוב ביותר עם מגבלות של מקום ונראות.
אני פחות רוצה להתייחס לתוספים הקיימים ולבצע סקירה עבורם כי מדובר בסה״כ בפונקציאונל פשוט שאפשר לממש בעזרת קובץ אחד בלבד.
איך זה עובד מאוחרי הקלטים
אנחנו משתמישם בכמות צפיות בסנגל (פוסט, עמוד או cpt). הקוד לא מתיייחס לעמודי בלוג השונים: קטגוריה, טאגים וכו….
הקוד מתבצע על בסיס פונקציות של וורדרפס postmeta שמאשרים לנו לשמור או למשוך נתונים פר פוסט. אנחנו נשתמש שפונקציות הבאות של וורדרפס update_post_meta
לצורך עדכון או יצירה (במקום create_post_meta
) וget_post_meta
לצורך שליפה.
עדכון בבסיס נתונים
עדכון של postmeta מתבצע בזמן טעינה מלאה של הדף. אפשר לעשות את זה במספר דרכים, הדרך הפשוטה ביותר הינה בצורה א-סינכרונית על ידי JavaScript כדי לא לעצור את הטעינה ולחסום כל ניסיונות של רובוטים השונים.
יוצרים קובץ חדש class-ya-posts-view.php
בתקיית תבנית או תת תיקיה. בגלל שמדובר בPHP Class אני לרוב משתמש בתקיית classes
שנמצאת בתקיים inc
מסיבות היסטוריות של טמפלייט underscores.
נגדיר את הClass עם המשתנים שלו, שאחד מהם הוא מפתח בבסיס נתונים שנעבוד איתו.
לתוך הקלאס נכניס את הפונקציה שתקבל את מספר פוסט לצורך בדיקה ראשונית שמדובר בפוסט ולא בסתפ מספר, לאחר מכן בדיקת כמות צפיות נוכחית מוסיפה כניסה נוכחית ומעדכנת את בסיס הנתונים.
קליטת נתונים בAJAX
כדי להפעיל פונקציה לעדכון בסיס צריך לבנות פונקציה אחרת שמקבלת את מספר הפוסט ואת המפתח אבטחה מובנה בוורדרפס (nonce) המשמש כוסם ניסיונות מתקפה ופריצה בעזרת ajax.
נעשה בדיקה של תקינות כל הנתונים ובמידה עברנו את כל הבדיקות נפעיל את הקוד של עדכון בבסיס נתונים.
תצוגה של כמות הצפיות עבור מנהל אתר
הצורך העיקרי של כתיבת כל הלוגיקה היה להציג במקום מרוכז את כמות הצפיות של כל הפוסטים. לצורך זה בחרתי להציג את זה בעמוד שבו מרוכזים כל הפוסטים ליד בלוק של YoastSEO. הגדרתי גם גודל זהה לעמוד זהה לזה של Yoast.
הביצוע התבצע בשלוש פונקציות שונות, הראשונה יותרת את העמודה, השניה ממלא את העמוד והשלישית מוסיפה קוד CSS לתוך חלק העליון של הניהול.
שימוש בפונקציית AJAX
חשבתי לא מעט על מיקום ההטמעה של הקוד, ועל הצורה שלו, האם זה רק JS או להוסיף כחלק מהדר או פוטר. לכל אחד מהדרכים יש ייתרונות וחסרונות. הצורך הראשוני זה יצירת מפתח אבטחה (nonce). לאור זאת בחרתי פונקציה שתהיה חלק מהקלאס עצמו.
חיבור של הקוד לתוך הוורדרפס
חיברתי את כל פונקציות לaction וfilter שיופיעו בתוך האתר במקמות הנדשרים.
נשאר רק ללכת לקובץ functions.php ולמשוך את הקובץ לשימוש פנימי.
הקוד שלנו מוכן לשימוש ואפשר להתחיל לספור את כמות הכניסות פר עמוד או פוסט. הקוד יעבוד גם בcpt.
תצוגה של כמות הצפיות עבור גושלים באתר
במידת הצורך ניתן להציג לגולשים את כמות הצפיות על ידי משיכה שלהם בסינגל.
מעכשיו גם הגולשים יכולים לראות את התוצאה. רק לשים לב, בשלב הראשון לאחר הטמע של הקוד באתרים הוותיקים תציג את כמות הפיות על 0, לא להתבאס מזה.
סיכום
הוספה של כמות צפיות לאתר בעזרת שימוש בקוד PHP ו-JavaScript יותר נוחה. תהליך זה חוסף התעסקות עם תוספים השונם. יחד עם זאת, תוספים הקיימים מאפשרים גמישור רבה יותר ויכולות הרבה יותר טובות.
מומלץ מאוד להתקין את כמות הצפיות בכל דרך, ולתת לגולשים את מידע העדכני והנכון על כמות הצפיות.