• Добрый день. Сделал хак для меню, чтобы активный пункт меню не был ссылкой, если ты находишься на странице, на которую он ведет. Теперь хочу в коде прописать одно условие, но в этом языке программирования — полнейший 0. Кто разбирается — помогите.

    Вот описание хака: (http://belbiy.com/bg/wp_nav_menu-and-custom-walker-class/). У меня в functions.php код:

    class mainMenuWalker extends Walker_Nav_Menu {
      function start_el(&$output, $item, $depth, $args) {
        // назначаем классы li-элементу и выводим его
        $class_names = join( ' ', $item->classes );
        $class_names = ' class="' .esc_attr( $class_names ). '"';
        $output.= '<li id="menu-item-' . $item->ID . '"' .$class_names. '>'; 
    
        // назначаем атрибуты a-элементу
        $attributes.= !empty( $item->url ) ? ' href="' .esc_attr($item->url). '"' : '';
        $item_output = $args->before; 
    
        // проверяем, на какой странице мы находимся
        $current_url = (is_ssl()?'https://':'http://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        $item_url = esc_attr( $item->url );
        if ( $item_url != $current_url ) $item_output.= '<a'. $attributes .'>'.$item->title.'</a>';
        else $item_output.= '<span>'.$item->title.'</span>'; 
    
        // заканчиваем вывод элемента
        $item_output.= $args->after;
        $output.= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
      }
    }

    Подскажите, как в этот код прописать условие, что если я нахожусь на всех страницах, кроме главной — то к ссылке (в меню) прописывается атрбиут rel=»nofollow». Знаю, как сделать такое условие на php, но этот код — не php. )

  • Тема «Условие в walker class (про меню)» закрыта для новых ответов.