• Мені потрібно в 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_head

    public 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 функції ?

  • Тема «Взяти ідентифікатор поточного елементу меню» закрита для нових відповідей.