Intereting Posts
Как ограничить количество сообщений, отображаемых в одном? PHP Неустранимая ошибка: не удается вызвать перегруженную функцию для не-объекта в wp-includes / capability.php Нужна помощь Создание / Фиксация Cron Родители и дети Используйте диалоговое окно загрузчика мультимедиа WP для загрузки вложения формы (не-админ). Предлагая прогресс и обратную связь wp_kses vs wp_strip_all_tags Стиль предыдущей / следующей страницы отличается от индекса Запуск параллельного PHP-приложения с WordPress Функции вызывают ошибки При фильтрации запроса на пользовательскую таксономию; главное меню исчезает либо single-{custom} .php 404's OR / таксономия / 404's – пользовательский тип сообщения и таксономия permalinks get_the_category и эхо-ссылка для самой детской / самой глубокой категории Похожие сообщения popup Как сделать страницу с? P = 1 Хорошая методология для модернизации крупных / сложных сайтов?

С помощью 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 } ?>