לוח הדוד של תוסף וורדפרס 101: איך להתחיל

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


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

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

מבנה קבצים כללי

לוח הדוד אמור לשמש כמאגר Github, כך שהספרייה הראשית מכילה קבצים הנמצאים בדרך כלל במאגרי Github. הקובץ README.md הנו קריאה כללית ומופיע בדף המאגר הראשי שלך כתיאור. הקובץ CHANGELOG.md מיועד להקלטת שינויים בין הגרסה לקובץ .gitignore מיועד להגדרת קבצים ש- git אמור להתעלם מהם בעת עבודה עם קבצים..

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

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

תוסף חדש

הגדרת הכל

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

תן לי להראות לך את הדרך האהובה עלי להגדיר דברים. יש לי תיקיה במחשב שלי עם המבנה הבא:

  • github
    • מחברים עליונים
    • תמונות מוצגות בקלות
    • קווי טוויטר-משתמשים
  • html
    • wp-admin
    • wp-content
    • כולל wp
    • קבצי WordPress אחרים
  • מילולית
    • סופרים ראשיים
    • תמונות קלות-תכונות
    • קווי זמן לצפצף-משתמש

תיקיית ה- HTML היא המקום בו WordPress מותקנת. תיקיית github מכילה את כל התוספים של וורדפרס שלי מ- Github. תיקיית הוורדפרס מכילה אותם תוספים שנמשכים דרך SVN ממאגר וורדפרס.

יצירת סימלינק

הצעד הראשון שאני לוקח הוא ליצור גרסת וניל של Boilerplate של תוסף וורדפרס ב- Github. לאחר מכן אני בודק את זה בתיקיית ה- github שלי. בשלב הבא אני יוצר סימלינק בין תיקיית תא המטען בתוך ספריית ה- wp-content / plugins של התקנת WordPress שלי.

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

  • אתה יכול לאחסן תוספים במקומות אחרים.
  • אתה יכול לסמל קישור של תיקיה מתוך מאגר גדול יותר.
  • אתה יכול לסמל את אותו תוסף למספר התקנות.

ניתן ליצור קל קישור מהטרמינל או משורת הפקודה ב- Windows. אני מציע לפתוח אחת ולנווט לספריית התוספים של התקנת WordPress שלך. לאחר מכן הקלד את הפקודה הבאה:

# עבור OSX או Linux
ln -s / absolute / path / to / github / My-plugin-name / my-plugin-name / trunk my-plugin-name

# עבור Windows
mklink / j C: \ absolute \ path \ to \ github \ My-plugin-name my-plugin-name

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

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

שינוי שם

יש הרבה תיקיות וקבצים בספריית תא המטען, בואו נתחיל לשנות את שמם! ראשית, אני ממליץ לך לתת שם למאגר שלך באמצעות מקפים ואותיות גדולות, משהו כזה: My-Awesome-Plugin. יש לקרוא לתיקיה הראשית בתוכנית ‘התוסף שלי מדהים’. אני ממליץ להשתמש באמנה זו לאורך כל התוסף.

שינוי שם הקבצים קל ב- OSX. פתח את כל התיקיות ובחר את כל הקבצים עם שם התוסף למחרוזת. לחץ באמצעות לחצן העכבר הימני כדי לשנות את שמם של כל 14 הקבצים ולשנות את שם החלקה לאצווה.

שינוי שם

זה יהיה קצת יותר קשה ב- Windows, תסתכל על זה HowToGeek מאמר למידע נוסף, או פשוט עבור אחד אחד.

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

  • שם התוסף צריך להפוך ל_פלאשין שלי
  • שם תוסף צריך להיות My_Awesome_Plugin
  • שם התוסף צריך להיות התוסף המדהים שלי

לאחר שתסיים, הקפד למלא את הערת הכותרת של הקובץ הראשי (my-awesome-plugin.php) כדי להתאים אותה לצרכים שלך..

תוכן עניינים

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

שים לב שאתייחס לקבצים כפי ששמה שונה, לדוגמה: כולל / class-my-awesome-plugin.php. אם שינית את שם התוסף שלך למשהו אחר, תצטרך לזכור שחלק התוסף שלי מדהים בשם הקובץ יהיה שונה עבורך.

הפעלה, ביטול והסרת התקנה

כל קוד שברצונך להפעיל כאשר הפלאגין מופעל צריך להיכנס כולל / my-awesome-plugin-name-activator.php. בקובץ זה יש מחלקה בשם My_Awesome_Plugin_Activator שבתוכה יש שיטת הפעלה () שעליך להשתמש בה.

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

יש להציב את הקוד שאתה זקוק להפעלת ההפעלה כולל / my-awesome-plugin-name-deactivator.php. שיטת ההפעלה () בתוך My_Awesome_Plugin_Deactivator היא מה שתצטרך להשתמש.

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

לצורך הסרת ההתקנה, השיטה המומלצת היא להשתמש ב- uninstall.php וזה מה שעושה WordPress Plugin Boilerplate. יש להציב את הקוד שלך בתחתית הקובץ.

הוספת ווים

ווים מטופלים על ידי Boilerplate של תוסף וורדפרס בצורה מדהימה, אך זה אולי נראה מעט לא מסוכן בהתחלה. יש למקם את כל הקרסים שלך בתוך כולל / class-my-awesome-plugin.php. ליתר דיוק, בשיעור My_Awesome_Plugin, בשתי שיטות:

  • define_public_hooks () בעת הוספת וו המשמש בקצה הקדמי
  • define_admin_hooks () בעת הוספת וו שמשמש בקצה האחורי

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

$ זה->מטעין->add_action (‘the_content’, $ plugin_public, ‘modify_post_content’);

הפרמטר הראשון הוא שם ה- hook, השני הוא הפניה לאובייקט הציבורי או הניהול. עבור ווים ציבוריים זה צריך להיות plugin_public $, עבור hooks admin זה צריך להיות $ plugin_admin. הפרמטר השלישי הוא הפונקציה המחוברת.

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

תוכן ציבורי וניהול

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

שתי התיקיות מכילות תיקיות css, js וחלקים. עליכם להכניס נכסי CSS / JS לתיקיות אלו ולכתוב תבניות וסיביות HTML שניתנות לשימוש חוזר לתיקיית החלקים. זה בסדר ליצור קבצים חדשים בתיקיית החלקים, למעשה לשם זה!

עליך לכתוב את הפונקציות המחוברות שלך גם בתיקיות אלה, בתוך הכיתה בספריות המתאימות. כאשר חיברנו את פונקציית ה- modify_post_content ל-_content שלמעלה, אמרנו ל- WordPress Plugin Boilerplate היכן לחפש אותה גם. מכיוון שהוספנו את זה לצד הפונה לציבור, Boilerplate של תוסף וורדפרס מצפה שהוא יוגדר בכיתה My_Awesome_Plugin_Public שנמצא בתיקיה הציבורית. כל שעליך לעשות הוא ליצור פונקציה זו בתוך הכיתה ולכתוב את כל השאר כרגיל.

משאבים ותלות

אם אתה רוצה להשתמש במשאבים חיצוניים, כגון הפעלת תוסף TGM, עליך להוסיף את זה לתיקיה הכוללת. TGM הוא קובץ יחיד בשם class-tgm-plugin-activation.php שצריך לכלול אותו בקובץ class-my-awesome-plugin.php, בשיטת load_dependency ():

demand_once plugin_dir_path (שם דירוג (__FILE__)). ‘כולל / class-tgm-plugin-activation.php’;

סקירה כללית

האם אתה מבולבל מכל שמות הקבצים והפונקציות? אל תדאג, תביא לזה די מהר. למעשה, לרוב תשנה רק שלושה קבצים:

  • כולל / class-my-awesome-plugin.php שם אתה מוסיף את כל הווים והתלות שלך.
  • public / class-my-awesome-plugin-public.php הוא המקום אליו אתה מוסיף את כל הפונקציות הפונות לציבור.
  • admin / class-my-awesome-plugin-admin.php הוא המקום אליו עוברות כל הפונקציות העומדות בפני מנהל.

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

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map