Взяти ідентифікатор поточного елементу меню
-
Мені потрібно в om_aitm_wp_head функції, яка є функцією зворотнього виклику wp_head хука, дізнатися ідентифікатор поточного елементу меню. Для цього я створив фільтр, який записує в змінну $this->current_menu_item_id поточний ідентифікатор меню
private $current_menu_item_id = null;
add_filter( 'nav_menu_css_class', array( $this, 'om_aitm_nav_menu_css_class'), 9, 2 );
public function om_aitm_nav_menu_css_class( $classes, $item ) { if( in_array( 'current-menu-item', $classes ) ) { $classes[] = 'om_aitm_add_image'; $this->current_menu_item_id = $item; } return $classes; }
add_action('wp_head', array( $this, 'om_aitm_wp_head'), 10);
Проблема полягає в тому, що хук wp_head спрацьовує першім за фільтр nav_menu_css_class, і в результаті я отримую пусту змінну $this->current_menu_item_id в функції om_aitm_wp_headpublic function om_aitm_wp_head() { ?> <style type="text/css"> nav[aria-label="Primary Menu"]::before { display: block; text-align: center; content: url( <?php echo get_post_meta($this->current_menu_item_id, '_om_aitm_attached_image', true); ?> ); } </style> <?php }
Як мені отримати ідентифікатор поточного елементу меню в om_aitm_wp_head функції ?
- Тема «Взяти ідентифікатор поточного елементу меню» закрита для нових відповідей.