הוספת פריטים לתפריט וורדפרס
בעזרת הפילטר wp_nav_menu_items ניתן להוסיף קוד לתפריטים שקיימים באתר ניתן להוסיף\ למחוק\ לשנות פריטים בתפריט ואפשר גם לקבוע באיזה תפריט ( אם יש לנו כמה ) אנחנו עושים את השינויים.
דוגמא להוספת חיפוש בסוף התפריט
function add_search_box_to_menu ( $items, $args ) {
$items .= '
<li class="menu-item menu-item-type-custom menu-item-object-custom menu- menu-item-6373 serch_form_menu"><a href="javascript:void(0);"><span><i class="fa fa-search" aria-hidden="true"></i></span></a>
<ul class="sub-menu" style="display: none;">
<li class="menu-item menu-item-type-taxonomy menu-item-object-product_brand menu-boccia menu-item-6346">
'. get_search_form( FALSE ) . '
</li>
</ul>
</li>
';
return $items;
}
add_filter( 'wp_nav_menu_items', 'add_search_box_to_menu', 10, 2 );
הקוד HTML יכול להשתנות מתבנית לתבנית השיטה הכי פשוטה לדעת איזה קלאסים להשים, היא להעתיק מהאתר שלכם אפשר עם פיירבג של פיירפוקס או עם הכלי של כרום.
וכמובן להשאיר את הפונקציה הזאת
get_search_form( FALSE )
שהיא בעצם פונקציה שיוצרת קוד HTML של חיפוש.
אם שמתם לב בקוד הוספתי את המספרים 2 ו 10.
10 מציין את העדיפות שהפילטר שלנו יפעל אם יש עוד פילטרים שפועלים.
2 מציין את מספר הארגומנטים שאנחנו נקבל
בעצם הארגומנט הראשון שאנחנו מקבלים זה הקוד הקיים ל $items
והארגומנט השני זה זה אובייקט שגם מסתתר בו שם התפריט
ואז אני יכול לשלוט באיזה תפריט לעשות את ההוספה בקוד עשינו לכל התפריטים אבל באופן פשוט יכולנו להוסיף את התנאי הזה למשל
if( $args->theme_location == 'primary' )
ואז אנחנו מוסיפים את הקוד רק לתפריט שנקרא primary את שם התפריט אפשר לדעת בלוח הבקרה תחת תפריטים או להסתכל בקוד
מומלץ לעיין במדריך ליצירת תפריט נוסף