וורדפרס ואתרי אינטרנט

owl-158414_960_720
דורג 5 מתוך 5

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

מערכת ההוקים של וורדפרס

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

רשימת ההוקים המובנים בקודקס של וורדפרס

וכמו כן ניתן ליצור הוקים מותאמים אישית.

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

 

כדי להבין את מערכת ההוקים קודם נלמד לייצר הוקים .

איך יוצרים הוק ?

שמים את הקוד הזה במקום כלשהו בדף

do_action( string $tag,  $arg = '' )

 

דוגמא: יצרנו הוק

do_action( 'hok_example', $blame );

 

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

 

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

את ההרצה של הקוד אנחנו נעשה עם פונקציה שנקראת add_action שעליה נסביר בהמשך.

 

הוקים יכולים גם להחזיר גם פרמטרים מסויימים, כמו ID וכו..

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

באתר יש מדריך לאיך לעשות את זה הוספת תפריטים בלוח הבקרה

אז איך מפעילים הוק?

הפונקציה add_action, היא פונקציה שמוסיפה פעולה שתתבצע בהוק שיצרתם ( או הוק קיים) לפי השם שהגדרתם להוק

 

add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1);

tag – השם שאנחנו נותנים להוק, כלומר איזה הוק אנחנו בוחרים.

function_to_add – הפונקציה שאנחנו רוצים לבצע במידה ויש את ההוק המסויים הזה את הפונקציה רושמים ליד הקריאה.

priority – עדיפות הפעולה, אם יש כמה קריאות לאותו הוק אז איזה קריאה תהיהה לה עדיפות עליונה יותר, ערך קטן משמעותו שיש יותר עדיפות, הדיפולט של משתנה זה הוא 10.

accepted_args – מספר הערכים שהפונקציה מקבלת, דיפולט  1.

דוגמא :

ניצור הוק שמדפיס את שם המשתמש

נוסיף את יצירת ההוק להאדר header.php

do_action('my_hook');

 

נקרא להוק למשל מ functions.php

add_action('my_hook',  'user_message');

נכתוב את הפונקציה שאליה הוא קורא כאשר מתרחש ההוק מתחתיו.

function user_message() {
  global  $current_user;
  if (!empty($current_user)) {
    $user_login = addslashes($current_user->user_login);
    echo "Hello {$user_login}!";
  }
}

 

לסיכום הסבר פשוט על ההוקים:

 

יצירה של "חבילת פונקציה להרצה" ומיקומה בדף:

do_action("my_hook");

 

הוספת פונקציה לחבילה מסוימת:

add_action("my_hook","print_somthing");

function print_somthing() {
echo "test hook printing";
}

 

 

תפריט נגישות