Вывод списка дочерних категорий (текущей рубрики) с произвольными полями и описанием
Создал произвольное поле для рубрик, в которое помещаю картинку каждой рубрике. Как составить код для файла cathegory.php, чтобы выводился список дочерних категорий (текущей) и к каждому элементу списка выводилась картинка из произвольного поля и описание рубрики? Задача мне самому показалась простой, но удовлетворительного решения так и не нашёл, даже попытка совместить коды из разных статей не привела к результатам. Одна надежда на помощь...
Тут смотря как реализован у вас задание картинки для категории. Обычно, все это делают используя таблицу wp_options.
Для начала выбираем все нужные категории, с помощью get_categories($args), в $args - нужные параметры выбора.
После этого приходимся по всем категориям с помощью foreach, по ссылке выше есть пример. Для каждой категории получаем свое значение из базы.
Опять же, если все реализовано на базе wp_options, через get_option() получаем необходимое значение:
foreach ($categories as $cat) { $pic = get_option('category_icon_'.$cat->term_id); }это при условии, что картинка лежит в wp_options и имеет ключ (поле key) category_icon_xIDx, где xIDx - id категории. Это значение нужно генерировать исходя из вашего кода.
установил плагин Taxonomy Images. удалось вывести список категорий с описанием и изображениями для текущей станицы рубрики вот таким кодом:
<?php /* вывод списка рубрик */ $cattt = get_query_var('cat'); $catlist = get_categories( array( //'parent' => '.$cattt.', 'parent' => $cattt, 'hide_empty' => 0, 'exclude' => '', // ID рубрики, которую нужно исключить 'number' => '0', 'taxonomy' => 'category', // таксономия, для которой нужны изображения 'pad_counts' => true ) ); // получаем список рубрик foreach($catlist as $categories_item) { // получаем данные из плагина Taxonomy Images $cat = get_query_var('cat'); $terms = apply_filters( 'taxonomy-images-get-terms', '', array('taxonomy' => 'category'/* таксономия, для которой нужны изображения */) ); if (!empty($terms)) { foreach((array)$terms as $term) { if ($term->term_id == $categories_item->term_id) { // выводим изображение рубрики print '<a href="' . esc_url(get_term_link($term, $term->taxonomy)) . '" title="Нажмите, чтобы перейти в рубрику">' . wp_get_attachment_image($term->image_id, 'thumbnail'); echo '</a>'; } } } // выводим описание и название рубрики //echo "<li><a href=\"#\">" . $categories_item->cat_name . "</a><br /><span class=\"small-text\">" . $categories_item->category_description . "</span></li>"; echo "<li><a href=\"" . esc_url(get_term_link($term, $term->taxonomy)) . "\">" . $categories_item->cat_name . "</a><br /><span class=\"small-text\">" . $categories_item->category_description . "</span></li>"; } ?>если кто-нибудь сможет описать данный функционал без использования плагина, т.е. с произвольными полями или же с полями созданными Advanced Custom Fields буду очень благодарен!
А если нужно вывести подкатегории таксономии, как быть?