Intereting Posts
Как мне получить мои сообщения в алфавитном порядке? wordpress simple post multi рейтинг с post_meta и user_meta переписать правила ссылки на социальные ссылки Ссылка Избранных изображений для публикации родителя Как добавить подкатегорию WordPress без выбора Использование нового WP_Query в шорткоде в настраиваемом поле приводит к тому, что основной контент сообщения не отображается Короткое обозначение динамической таксономии многократного использования Проект WordPress под Mercurial, что является подходящим файлом .hgignore? Динамически созданная страница URL и содержимого Изменить post_date на post_modified дату в почтовом шаблоне? BuddyPress пользовательская структура url, любой знает фильтр для bp_core_get_userlink Меню на отзывчивой двадцатьце темы не работает, странная ошибка URL OAuth1 пустая аутентификация в / wp-json Пользовательский пул страниц без создания страницы WP Как удалить редактор плагинов из меню администратора

С помощью wp_list_category добавьте каждую существующую категорию в тег опции

Как и в названии, я использую wp_list_categories, чтобы получить все существующие категории моего веб-сайта. Я хотел бы добиться этого:

<select class="filters-select"> <option value=".category1">category1</option> <option value=".category2">category2</option> <option value=".category3">category3</option> ... </select> 

Я не уверен, каким образом код должен быть для достижения этой структуры, пока у меня есть это, что он не работает, но по крайней мере это не li внутри ul больше, он также просто показывает все категории дважды, мне нужен какой-то вид но я не знаю.

  <?php $args = array( 'hide_empty' => 0, 'orderby' => 'name', 'order' => 'ASC', 'show_count' => 0, 'use_desc_for_title' => 0, 'title_li' => 0, 'style' => '', 'echo' => false ); $cats = wp_list_categories($args); if ( $cats ) { echo '<option value=".'.$cats.'">'.$cats.'</option>'; } ?> 

wp_list_categories() не является подходящей функцией для такого вывода, поскольку это предназначено для отображения списков <ul> .

Вместо этого вы должны искать get_categories() , который вместо этого получает всю информацию о категориях и не применяет к ней никакого форматирования.

Для желаемого результата вы можете использовать что-то вроде этого:

 <?php $args = array( 'hide_empty' => 0, 'orderby' => 'name', 'order' => 'ASC', ); $cats = get_categories($args); if ( $cats ) { echo '<select class="filters-select">'; //echo the select //loop through each category and echo as option for the select foreach ($cats as $cat) { echo '<option value="'. $cat->slug .'">'. $cat->cat_name .'</option>'; } echo '</select>'; //close the select } ?>