Здравствуйте.
На сайте есть дубль меню, находится в подвале. В целях внутренней оптимизации решено ссылкам из него не передавать вес.
Задача: ссылкам из нижнего меню добавить атрибут nofollow.
Меню выводится так:
<?php
wp_nav_menu(array(
'menu' => 'footer', // название меню
'container' => 'div', // контейнер для меню, по умолчанию 'div', в нашем случае ставим 'nav', пустая строка - нет контейнера
'container_class' => 'menu_footer_bold', // класс для контейнера
'container_id' => '', // id для контейнера
'menu_class' => 'ul_a', // класс для меню
'menu_id' => '', // id для меню
));?>
Пробовал решить следующим образом: создаем переменную, ей присваиваем результат wp_nav_menu , затем обрабатываем её функцией str_replace и выводим на страницу. Вот код:
<?php
$nav = wp_nav_menu(array(
'menu' => 'footer', // название меню
'container' => 'div', // контейнер для меню, по умолчанию 'div', в нашем случае ставим 'nav', пустая строка - нет контейнера
'container_class' => 'menu_footer_bold', // класс для контейнера
'container_id' => '', // id для контейнера
'menu_class' => 'ul_a', // класс для меню
'menu_id' => '', // id для меню
));
$nav = str_replace('<a ', '<a rel="nofollow" ', $nav);
echo $nav;
?>
Код не работает - выводится просто меню как если бы просто отрабатывала функция wp_nav_menu. При этом, если присваивать переменной текстовую строку вида
'<a href="ля-ля-ля">тест</a>'
, замена выполняется.
В чем проблема, как реализовать задуманное?