כיצד להשתמש WordPress פעולה הוקס ב נושאים התאמה אישית
נושאים WordPress הילד לתת דרך קלה יחסית להתאים אישית את המראה והתחושה של נושא. אם האפשרויות של ערכת הנושא אינן מספקות לך אפשרויות עיצוב נאותות, באפשרותך פשוט להוסיף כלל חדש לקובץ הסגנונות המוגדר כברירת מחדל של ערכת הנושא של הילד בשם style.css. אבל מה קורה גם אם אתה רוצה לשנות את הפונקציונליות של ערכת הנושא? זהו אחד המקרים כאשר פעולות WordPress לבוא לעזרתך.
וורדפרס הפך כל כך פופולרי בחלקו בגלל יכולת ההתאמה הגבוהה שלה. הליבה וורדפרס נטען עם ווים שונים המאפשרים למפתחים לשנות או לשפר את הפונקציונליות ברירת המחדל. יתר על כן, מותר לנו לכלול ווים מותאמים אישית ב נושאים שלנו ותוספות ל לעזור למפתחים אחרים להתאים בקלות את הקוד שלנו לצרכים שלהם.
על וורדפרס הוקס
וורדס ווים עבודה דומה במקצת ווים בחיים במובן זה אתה יכול לתפוס את הדגים שאתה רוצה במקום הנכון אם אתה משתמש בהם כראוי.
אתה יכול להסיר פונקציה נתפס (למשל, תוכל להסיר את סרגל הניהול של WordPress עבור משתמשים ברמה נמוכה), תוכל להשאיר אותו שלם ו לשפר אותו עם הפונקציונליות שלך (לדוגמה, תוכל להוסיף עוד תפריטים או אזורי widget עבור ערכת נושא), או שתוכל לעקוף את זה (למשל, תוכל לשנות את ההתנהגות של פונקציית הליבה).
ישנם שני סוגים שונים של ווים ב- WordPress: פעולות ו מסננים. במאמר זה נסקור כיצד נוכל לעשות שימוש ווים פעולה בנושא התאמה אישית.
איך וורדפרס הוקס עבודה
כדי להשתמש בשפה פשוטה מאוד, פעולות מצביע על כך ש משהו קרה במהלך מחזור החיים של דף וורדפרס: חלקים מסוימים של האתר נטענו, אפשרויות או הגדרות מסוימות הוגדרו, תוספים או יישומונים כבר אתחול, וכן הלאה.
מסננים שונים מ פעולות בטבעם. הם רגילים ל להעביר נתונים דרך, ו לשנות, לנהל או לעכב זה לפני עיבוד זה למסך או שמירת נתוני המשתמש למסד הנתונים.
בכל ציון דרך משמעותי של מחזור החיים של דף WordPress יש גם פעולה או מסנן וו שאליו אנחנו יכולים הוסף את הקוד המותאם אישית שלנו כדי לשנות את התנהגות ברירת המחדל לצרכים שלנו.
פעולות מסוימות ומסננים פועל במהלך בקשה תלוי איזה דף היה המבוקש על ידי סוכן המשתמש: לדוגמה, בקשה אחת לכתוב ווים הקשורים הודעות בודדות זמינים, אבל ווים הקשורים לחלקים אחרים של האתר (למשל באזור הניהול) לא.
מצא פעולה הוקס
הפניה לפעולה של קודקס וורדפרס נותן סקירה מפורטת של פעולות פועל באמצעות בקשות שונות. הדבר החשוב הוא שאם אנחנו רוצים להשיג משימה שאנחנו צריכים וו לתוך המקום הנכון, לא לפני או לאחריו, אחרת הפעולה לא תושלם.
אז למשל אם אנחנו רוצים הוסף את קוד Google Analytics לאתר אנחנו צריכים וו הפעולה שלנו ממש לפני הכותרת התחתונה נטענת.
אם אנחנו מדברים על התאמה אישית של נושא, פעולה ווים יכול לבוא משני מקומות שונים: מ וורדפרס Core ו את הנושא עצמו. ישנם נושאים שאין להם ווים בכלל, אבל אחרים מספקים למפתחים עם כמה או רבים - זה תמיד הבחירה של המחבר הנושא. ברירת המחדל עשרים וחמישה נושאים יש רק פעולה אחת וו תחתונה תחתונה תחת השם של "עשרים וחמישה".
אם אתה רוצה לגלוש קוד המקור, אתה יכול גם למצוא בקלות ווים. פעולה hooks מתווסף קוד עם do_action () WordPress פונקציה.
אם אתה מפעיל חיפוש מהיר עבור הביטוי 'do_action' בעורך קוד מתקדם יותר - כמו שעשיתי ב- Eclipse למטה - תוכל לראות רשימה על הנקודות שבהן תוכל לחבר את הפונקציונליות המותאמת אישית שלך אל הליבה. חיפשתי ב / wp-includes / תיקייה, אבל אתה יכול גם לבצע חיפוש עבור / wp-admin / התיקייה המכילה את ווים הפעולה הקשורים ללוח המחוונים של וורדפרס (אזור הניהול).
הדבר הטוב הוא כי שמות של ווים פעולה הם בדרך כלל די מובן מאליו, אבל יש בדרך כלל תגובה נחמדה בתוך הקוד זה יכול לתת לך ידע רב יותר אם הפעולה נתון וו טוב מהסיבה אתה רוצה להשתמש בו.
לדוגמה, את ההערה קוד לפני הווידג'ט 'widgets_init' פעולה אומר את זה “שריפות לאחר כל ברירת המחדל יישומונים וורדפרס נרשמו”. אם אתה לוקח להציץ קוד לפני פעולה זו וו, אתה יכול למצוא את כל ברירת המחדל של WP יישומונים "אתחול לפני זה - אז אתה יכול להיות בטוח כי ההערה לא שקר, ואם אתה רוצה לרשום יישומון מותאם אישית משלך, זה יהיה המקום הנכון.
במקרים רבים קוד המקור מספק לנו מידע הרבה יותר מאשר קודקס, אז זה יכול להיות רעיון טוב ללמוד איך לנווט בו במהירות.
הוסף פעולות משלך
כאשר אתה רוצה להוסיף את הפעולה שלך, אתה צריך ליצור פונקציה מותאמת אישית ו לאגד את הפונקציה הזו לקרס פעולה ספציפי באמצעות הפונקציה add_action () WordPress. פעולות מותאמות אישית שנוספות עם הפונקציה add_action () הן בדרך כלל מופעלת במקום כאשר הליבה מכנה את הפונקציה המתאימה do_action ().
בואו נראה דוגמה פשוטה.
כיצד למצוא את הוק עבודה אתה צריך
נניח שאתה רוצה להוסיף את הסמל המועדף שלך לאתר שלך. ראשית, אתה צריך למצוא את הפעולה הנכון אתה יכול לקשור את הפונקציונליות שלך.
בוא נחשוב. אם אתה רוצה להוסיף favicon לדף HTML רגיל איפה היית שם את זה? כמובן, אתה צריך למקם אותו בתוך
של קובץ HTML עם הסימון הבא:אז את הפעולה וו אתה צריך להיות קשור לטעינה של סעיף.
(1) פתח את הפניה פעולה, ולראות מה יש לו להציע. יש לנו מזל, כאילו אנחנו דפדפים במעשים, אנחנו יכולים רק למצוא אחד, wp_head, כי על פי השם שלה יש את האפשרות להיות קשור לטעינה של
סעיף.(2) ללא שם: כדי להיות בטוח, בואו לבדוק את התיעוד ב - WordPress Codex. הכוונה מייעצת לכך “אתה משתמש זה וו על ידי בעל הפלט הד פונקציה לדפדפן”, אז עכשיו זה נראה מושלם עבורנו. אבל בואו לבדוק את זה בקוד המקור.
(3) כמו וו זה אינו קשור לאזור מנהל נצטרך להפעיל את החיפוש שלנו / wp-includes / תיקייה. אם נחפש את המילה 'wp-head' נקבל תוצאות רבות כמו פעולה ספציפית זו משמשת WP Core פעמים רבות.
אנחנו צריכים לחפש את המקום שבו הוא מקבל מוגדר, כך לחפש את הביטוי do_action ('wp_head'. שים לב שלא סיימנו את הסוגריים, מכיוון שאיננו יכולים להיות בטוחים אם לפעולה זו יש פרמטרים או לא.
Eclipse מחזירה רק תוצאה אחת שניתן למצוא בתוך /wp-includes/general-template.php קובץ. ההערה לפני הגדרת הפעולה וו אומר את זה “מדפיס סקריפטים או נתונים בתג הראש בחזית”, אז עכשיו אנחנו יכולים להיות מתים - בטוח wp_head הוא וו הפעולה שאנחנו צריכים.
בדיקת פרמטרים
כאשר אתה מוסיף את הפעולות שלך אתה גם צריך להיות בטוח אם הוו אתה רוצה להשתמש לוקח פרמטרים או לא. אתה יכול בקלות למצוא את זה על ידי הסתכלות על do_action () פונקציה.
התחביר של הפונקציה do_action () הוא:
do_action ('name_of_action' [, parameter1, $ parameter2, ...])
רק שם הפעולה נדרש, הפרמטרים הם אופציונליים. אם אתה מוצא טיעונים בשיחה הרלוונטית של הפונקציה do_action (), עליך לכלול אותם בהצהרה של הפונקציה המותאמת אישית שאתה יוצר.
אם אתה לא מוצא שום, אז הפונקציה המותאמת אישית שלך צריך לעבוד ללא ויכוחים. בהגדרת do_action () של wp_head הפעולה, אין פרמטרים.
בואו נשווה את זה לוויק פעולה שלוקח פרמטר. וו פעולה בשם 'wp_register_sidebar_widget' לוקח פרמטר אחד כי אתה תמיד צריך לעבור את הפונקציה מותאמת אישית לך לאגד את הוו.
בואו נראה את ההבדל בתחביר do_action () של שני המקרים:
do_action ('wp_head'); do_action ('wp_register_sidebar_widget', $ widget);
במקרה הראשון אין פרמטר, לכן הפונקציה המותאמת אישית תשתמש בתחביר הבא:
הפונקציה my_function_without_parameters () ...
במקרה השני יש פרמטר אחד שאתה תמיד צריך לעבור כטיעון לתוך ההצהרה של הפונקציה המותאמת אישית שלך:
הפונקציה my_function_with_parameters ($ widget) ...
כיצד הוק פונקציה מותאמת אישית שלך ב - Windows 7
עכשיו אנחנו יודעים כל מה שאנחנו צריכים. בואו ליצור את הפונקציה המותאמת אישית שלנו שתציג סמל מועדף באתר שלנו.
ראשית, ליצור פונקציה חדשה ללא כל ארגומנטים, ולאחר מכן לאגד אותו wp_head פעולה עם וו בעזרת add_action () WordPress פונקציה.
function_add_favicon () echo '' add_action ('wp_head', 'custom_add_favicon');
אתה צריך להעביר את השם של וו הפעולה לפונקציה add_action () כטיעון ראשון, אז אתה צריך הוסף את השם של הפונקציה המותאמת אישית שלך.
אלה הם שני הפרמטרים הנדרשים של add_action (). יש לו שני פרמטרים אופציונליים מדי, עדיפות ו טיעונים מקובלים. בוא נראה כיצד להשתמש אלה.
הגדרת עדיפויות
זה קורה במקרים רבים כי יש יותר מפעולה אחת קשורה לאותו וו. לכן אשר אחד יבוצע הראשון? זה המקום שבו אנו יכולים להשתמש $ פרמטר אופציונלי של הפונקציה add_action ().
אנו מוסיפים את העדיפות כמספר שלם חיובי, ערך ברירת המחדל הוא 10. אם אנחנו רוצים פעולה להתבצע מוקדם, אנחנו נותנים לו ערך נמוך יותר, אם אנחנו רוצים שזה יבוצע מאוחר יותר, אנחנו נותנים לו ערך גבוה יותר.
אז אם אנחנו חושבים כי favicon צריך להיות שם מוקדם, נוכל לשפר את add_action הקודמת שלנו () שיחה בדרך הבאה:
add_action ('wp_head', 'custom_add_favicon', 5);
שים לב כי סדרי העדיפויות תמיד צריך להיות להגדיר יחסית את פונקציות אחרות מותאמות אישית כי להשתמש באותו וו פעולה.
הוסף את מספר הטיעונים המקובלים
אתה נדרש להוסיף את מספר הארגומנטים המקובלים במקרה שאתה משתמש וו פעולה שלוקח פרמטרים. בואו נראה את הדוגמה שבה השתמשנו בעבר.
פעולה וו 'wp_register_sidebar_widget' לוקח פרמטר אחד, ולכן כאשר אנו לאגד את הפונקציה המותאמת אישית שלנו וו זה, אנחנו גם צריכים לכלול את זה כטיעון כאשר אנו קוראים את add_action () פונקציה.
הקוד שלנו במקרה זה ייראה כך:
הפונקציה my_sidebar_widget_function ($ widget) // הקוד שלך add_action ('wp_register_sidebar_widget', 'my_sidebar_widget_function', 10, 1);
שים לב שאנחנו חייבים גם להוסיף את העדיפות (בחרנו את ברירת המחדל 10 כאן) כדי לוודא וורדפרס יודע מה פירושו של כל פרמטר. אם השמטנו את העדיפות, וורדפרס יכול להניח כי 1 הוא העדיפות וזה לא נכון, שכן הוא מציין את מספר הטיעונים המקובלים.
סיכום
אתה יכול לעשות ניסויים רבים עם ווים פעולה בנושא התאמה אישית. לדוגמה, תוכל להוסיף את הסקריפטים המותאמים אישית (JS) והסגנונות (CSS) שלך באמצעות וו הפעולה wp_enqueue_scripts, או את קוד Google Analytics שלך באמצעות וו הפעולה wp_footer.
אתה לא רק יכול להוסיף פעולות משלך, אבל אתה יכול גם להסיר פונקציונליות מלאה מן הליבה וורדפרס עם השימוש function_action () הפונקציה משתמשת באותו הגיון כמו add_action ().
אם אתה מחבר נושא, ואתה רוצה לעשות נושא ניתן להרחבה, זה יכול להיות רעיון טוב להוסיף משלך פעולה מותאמת אישית hooks את קבצי התבנית המתאימה עם הפונקציה do_action ().
אם אתה רוצה לעשות זאת, לחשוב היטב על פרמטרים כי מפתחים אחרים מי ישתמש הנושא שלך יצטרכו לעבור כטיעונים כאשר הם רוצים להתחבר פונקציות מותאמות אישית שלהם.
בעת עיצוב המיקומים של ווים פעולה מותאמת אישית של הנושא שלך לא לשכוח את זה לא הגיוני לכלול ערכות נושא מותאמות אישית על אותם מקומות בהם הליבה וורדפרס עצמה יש ווים משלה.