במאמר הקודם, דנו ביסודות של מיפוי שורטקודים (shortcodes) וכיצד תוכלו לקבל גישה ליתרונות הנהדרים שלו. החלטנו לפצל את המאמר המציג את גרסת Page Builder Sandwich למיפוי שורטקודים, מכיוון שהטקסט הבא עשוי להיות מעט יותר טכני.
להלן תיאורים מעמיקים יותר של פעולתו הפנימית של מאפיין מיפוי השורטקודים שלנו, וכיצד גרמנו לו לעבוד.
תהליך אוטומטי
על מנת להחליט אילו תוספים לכלול בממפה השורטקודים, בנינו סקריפט אוטומטי שאוסף את התוספים המובילים בספריית התוספים של וורדפרס בהתבסס על הקריטריונים הבאים:
- מבין 1,000 התוספים הפופולריים, בעלי הדירוג הגבוה ביותר והמעודכנים ביותר, עם לפחות 4,000 התקנות פעילות,
- עם לפחות 4,000 התקנות פעילות,
- עם לפחות 20 דירוגים, וכן;
- עם דירוג ממוצע של לפחות 3 כוכבים
אנו מריצים שאילתה זו מדי יום מול ספריית התוספים של וורדפרס. מסננים אלה מבטיחים שנקבל רשימה של תוספים באיכות טובה שהרבה אנשים משתמשים בהם. בזמן כתיבת שורות אלו, קריטריונים אלה הניבו 800 תוספים. זה המון. ממש המון.

לאחר מכן אנו מריצים סדרה של בדיקות אוטומטיות על קוד המקור של כל תוסף כדי לגלות אם הוא מכיל שורטקודים כלשהם, ואז אנו מנסים למצוא את כל אותם שורטקודים, כולל כל המאפיינים (attributes) שלהם. עיבוד הנתונים הניב מעל 2,000 שורטקודים. וואו כפול. שורטקודים שזוהו מוזנים לאחר מכן למסד הנתונים של מיפוי השורטקודים לבדיקה ידנית.
בסיום תהליך זה, נשארנו עם רשימה ענקית של תוספים, ומהם השורטקודים האפשריים שלהם. כעת זה עניין של ניקוי הנתונים האלה כדי לוודא שהכל תקין.
תהליך ידני
זהו כנראה החלק הקשה ביותר בכל מערכת המיפוי. קוד של תוספים מגיע בצורות ובגדלים שונים, ולא כל השורטקודים מזוהים אוטומטית על ידי הסקריפטים שלנו. אף על פי שה-Codex של וורדפרס ממליץ להשתמש בפונקציה `shortcode_atts` כדי לסנן מאפיינים של שורטקוד, זוהי המלצה בלבד ולא כולם פועלים לפיה. כמו כן, אין דרך בטוחה לבדוק את הקרביים של שורטקוד כאשר תוסף מותקן.
כדי לוודא שאנו משיגים את כל השורטקודים והמאפיינים שלהם בצורה נכונה, יצרנו אזור front end המוקדש לעריכת שורטקודים ומאפיינים, שנבנה באמצעות AngularJS ו-Bootstrap.

נצטרך לעבור ידנית על כל תוסף ותוסף, לבדוק את תיעוד השורטקודים שלהם ולוודא שכל הנתונים שברשותנו נכונים.
למרות שזה מייגע ומפרך, יש כמה נקודות אור בקיומו של תהליך אוטומטי:
- על פי הנתונים המוקדמים שלנו, רק בכ-1 מתוך כל 2 תוספים יש שורטקודים.
- לחצי מהשורטקודים שזוהו אין מאפיינים (אך ייתכן שחלק מזה הם זיהויים שגויים / false positives)
- על ידי איסוף תוספים באיכות טובה בלבד, סביר להניח שיש להם תיעוד שורטקודים
רק כאשר כל השורטקודים של תוסף נבדקו, השרת יתחיל להפיץ את מיפויי השורטקוד של אותו תוסף למשתמשים.
קריאת Rest API
החלק האחרון בפאזל הוא התוסף עצמו. הרעיון כאן פשוט: לגלות אילו תוספים פעילים, באיזו ערכת עיצוב האתר משתמש ואילו שורטקודים זמינים, ואז לשאול את מסד הנתונים של מיפוי השורטקודים האם יש לו מיפויים מתאימים. לשם כך יצרנו נקודת קצה (endpoint) מותאמת אישית של WP REST API שכל הלקוחות פונים אליה כדי לקבל את מיפויי השורטקודים העדכניים ביותר שלהם.
העתיד: מיקור המונים (Crowdsourcing)
בדיקה ידנית של כל תוסף דורשת זמן ומאמץ רבים. ברגע שפלטפורמת מיפוי השורטקודים תהיה יציבה, אנו מתכננים לפתוח את מיפוי השורטקודים לכולם. המשמעות היא שכולם יוכלו לעזור בהוספת שורטקודים.
אולי אתם חושבים לעצמכם, "למה שאעזור למפות שורטקודים? מה יוצא לי מזה?" ובכן, עולות כמה סיבות מדוע אנשים ירצו לעזור:
- אם יצרתם תוסף, ועדיין לא איתרנו אותו בגלל הקריטריונים שלעיל, (והוא נמצא בספריית התוספים של וורדפרס) תוכלו להוסיף את המיפויים בעצמכם. התוסף שלכם יזכה לתמיכה מלאה על ידי PBS!
- מכיוון שנעסוק רק בתוספים שנמצאים בספריית התוספים של וורדפרס בתהליך האוטומטי, מפתחי תוספים וערכות עיצוב בתשלום (premium) לא ייכללו. אז אם יש לכם אחד כזה, תוכלו גם להוסיף את מיפויי השורטקודים שלכם עבורם.
- ובעבור מי שאינם מפתחי תוספים, נוכל לתגמל את אלו שעוזרים. כדי להפוך את מיפוי השורטקודים למאמץ מפתה, נוכל לתגמל עוזרים נלהבים ברישיון אישי, או בשדרוג לרישיון פרימיום של PBS!
הירשמו לניוזלטר שלנו
פונקציונליות מיפוי השורטקודים תהיה זמינה ללקוחותינו באופן טנטטיבי ב-12 באוגוסט 15 באוגוסט 16 באוגוסט, 2016. לא כל השורטקודים ימופו עד למועד זה (ההערכה שלנו היא אולי 100 תוספים), אך המיפוי יתבצע באופן רציף ולקוחות יקבלו אותם ברגע שחדשים ישוחררו.
הירשמו לניוזלטר שלנו כדי לקבל עדכונים על מיפוי שורטקודים, מתי נשחרר אותו ומתי נפתח את מיפוי השורטקודים לקהל הרחב!