WordPress как на ладони

Вывод ссылок с помошью wp_tag_cloud() в OL списке

Использую функцию wp_tag_cloud() для вывода меток. Возможно ли, чтобы, используя аргумент format, ссылки выводились не в UL, а OL ? И можно ли добавить класс в LI ?

0
Sergei
3 месяца назад
  • 1
    Kama8765

    Просто в результате замени что нужно и все:

    $cloud = wp_tag_cloud( [
    	'format' => 'list',
    	'echo' => false,
    ] );
    
    $cloud = str_replace( [ '<ul ','</ul>' ], [ '<ol ','</ol>' ], $cloud );
    
    $cloud = str_replace( '<li>', '<li class="cloud-li-class">', $cloud );
    
    echo $cloud;

    Результат:

    <ol class='wp-tag-cloud' role='list'>
    	<li class="cloud-li-class"><a href="/met/ajax" class="tag-cloud-link tag-link-134 tag-link-position-1" style="font-size: 13.283018867925pt;" aria-label="AJAX (4 элемента)">AJAX</a></li>
    	<li class="cloud-li-class"><a href="/met/chrome" class="tag-cloud-link tag-link-1603 tag-link-position-2" style="font-size: 8pt;" aria-label="Chrome (1 элемент)">Chrome</a></li>
    	...
    </ol>
    Sergei 3 месяца назад

    А почему данная функция не работает в случае тэга a ? Т. е., например, я пишу

    $cloud = str_replace( '<a class="tag-cloud-link tag-link-18 tag-link-position-3">', '<a class="cloud-li-class">', $cloud );

    но ничего не происходит.

    Kama 3 месяца назад

    Проверь хорошо вплоть до всех символов, что и на что заменяешь...

    Sergei 3 месяца назад

    Никак не выходит. Хочу заменить

    весь тэг a на тэг a без каких-либо классов.

    Kama 3 месяца назад

    Во-первых, смотри что на что заменять в исходном коде, а не в инспекторе браузера, он тебе ДОМ дерево показывает, а не исходный код...

    Во-вторых, если тебе нужно удалить все классы, то они же разные для разных элементов, тут уже по-регулярке нужно удалить, а лучше просто используй get_terms() и выведи ссылки в той разметке в которой тебе нужно, а не пиши костыли с использованием wp_tag_cloud().

    Sergei 3 месяца назад

    Да я и не пытался заменить что-либо в инспекторе. Все изменения делаю, естественно, в исходном коде. Просто сюда для наглядности скрин от инспектора скинул. С get_terms() что-то не получалось, поэтому решил перейти на wp_tag_cloud(). Хорошо, попробую по регулярке.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация