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

Вывод списка дочерних категорий (текущей рубрики) с произвольными полями и описанием

Создал произвольное поле для рубрик, в которое помещаю картинку каждой рубрике. Как составить код для файла cathegory.php, чтобы выводился список дочерних категорий (текущей) и к каждому элементу списка выводилась картинка из произвольного поля и описание рубрики? Задача мне самому показалась простой, но удовлетворительного решения так и не нашёл, даже попытка совместить коды из разных статей не привела к результатам. Одна надежда на помощь...

0
JimmyExploit1 2.3 года назад
  • 0

    Тут смотря как реализован у вас задание картинки для категории. Обычно, все это делают используя таблицу 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 категории. Это значение нужно генерировать исходя из вашего кода.

    JimmyExploit 2.3 года назад

    установил плагин 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>";
    	}
    ?>
    JimmyExploit 2.3 года назад

    если кто-нибудь сможет описать данный функционал без использования плагина, т.е. с произвольными полями или же с полями созданными Advanced Custom Fields буду очень благодарен!

    Денис 1.5 года назад

    А если нужно вывести подкатегории таксономии, как быть?

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