• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Категории/подкатегории - изображение и описание

Image CMS

Timon-Dimon

Новичок
#1
Здравствуйте.

Подскажите плиз как одновременно вывести изображение и описание категории/подкатегории на странице просмотра товаров.

В файле woocommerce-template.php нашел функцию отвечающую за вывод описания категории/подкатегории
PHP:
if ( ! function_exists( 'woocommerce_taxonomy_archive_description' ) ) {
    /**
    * Show an archive description on taxonomy archives
    *
    * @access public
    * @subpackage    Archives
    * @return void
    */
    function woocommerce_taxonomy_archive_description() {
        if ( is_tax( array( 'product_cat', 'product_tag' ) ) && get_query_var( 'paged' ) == 0 ) {
            $description = apply_filters( 'the_content', term_description() );
            if ( $description ) {
                echo '<div class="term-description">' . $description . '</div>';
            }
        }
    }
}
Но мне надо с описанием дополнительно вывести загруженное изображение категории/подкатегории (если такое имеется). После долгих поисков написал
PHP:
if ( ! function_exists( 'woocommerce_taxonomy_archive_description' ) ) {
    /**
    * Show an archive description on taxonomy archives
    *
    * @access public
    * @subpackage    Archives
    * @return void
    */

  function woocommerce_taxonomy_archive_description() {
        global $woocommerce;
        if ( is_tax( array( 'product_cat', 'product_tag' ) ) && get_query_var( 'paged' ) == 0 ) {

          $small_thumbnail_size      = apply_filters( 'single_product_small_thumbnail_size', 'shop_catalog' );
          $dimensions                = $woocommerce->get_image_size( $small_thumbnail_size );
          $thumbnail_id              = get_woocommerce_term_meta( $category->term_id, 'thumbnail_id', true  );
          $description = apply_filters( 'the_content', term_description() );

        if ( $thumbnail_id ) {
            $image = wp_get_attachment_image_src( $thumbnail_id, $small_thumbnail_size  );
            $image = $image[0];
        } else {
            $image = woocommerce_placeholder_img_src();
        }

        echo '<div class="content_scene_cat">';
            if ( $image )
              echo '<div class="align_center">
                <img src="' . $image . '" alt="' . $category->name . '" width="' . $dimensions['width'] . '" height="' . $dimensions['height'] . '" />
              </div>';
            if ( $description )
              echo '<div class="cat_desc">' . $description . '</div>';
            echo '</div>';
    }
    }

}
В результате не выводится изображение, которое загружено. Результат на скриншоте ниже.
Просьба подсказать как вывести загруженное изображение категории/подкатегории.

Screen Shot 2013-11-07 at 3.15.59.png
 

Валерий

Специалист
#2
Подскажите плиз как одновременно вывести изображение и описание категории/подкатегории на странице просмотра товаров.
Оно самом выводится, если оно есть. :) Ничего для этого делать и не нужно. Хоте нет, совсем забыл, конечно же нужно предварительно проделать колоссальный объем работы - НАПИСАТЬ ЭТО САМОЕ ОПИСАНИЕ! Если его нет, то ничего выводиться и не будет... :(
 

Timon-Dimon

Новичок
#3
Оно самом выводится, если оно есть. :) Ничего для этого делать и не нужно.
Может быть выводится на готовых темах, которые заточены под woocommerce. В моем случае не выводится :( Проект собирается на twentytwelve и все визуальные изменения ведутся в этой теме или в корне самого woocommerce.

Хоте нет, совсем забыл, конечно же нужно предварительно проделать колоссальный объем работы - НАПИСАТЬ ЭТО САМОЕ ОПИСАНИЕ! Если его нет, то ничего выводиться и не будет... :(
Как-то противоречит предыдущим двум предложениям ответа.

Как мне кажется ошибка заключается в single_product_small_thumbnail_size. Если я правильно понимаю, то здесь идет обращение к конечному товару, а мне надо обращаться к выбранной категории/подкатегории.
 

Валерий

Специалист
#4
У меня тема специально не заточена под WooCommerce. Делаю магазин на одной из этих тем. В них только подключение WooCommerce, и все. Не знаю, где у Вас закралась ошибка, но у меня все выводится, только описание категории по-умолчанию выводится не под, а над товарами. Но если надо под товарами, то можно найти кусок кода, который выводит это описание, вырезать его и вставить в этом же файле чуть ниже, под циклом вывода товаров

Может быть выводится на готовых темах, которые заточены под woocommerce. В моем случае... проект собирается на twentytwelve
А Вас WooCommerce "узнает по походке" :) Это вот что?
image-1.jpg

А это?
image-2.jpg
Все это, между прочим, из исходников WooCommerce. ;)

Если "не выходит каменный цветок", можете попробовать воспользоваться вот этим плагином. Но, во-первых, он платный, а во-вторых, он добавляет только второе (нижнее) описание для категорий. Первое, т.е. верхнее и так есть. Если нужно только внизу, и при этом одного описания достаточно, то можно его переставить сверху-вниз, и всего делов! :D

P.S. Вы попробуйте переключить тему оформления на какую-то другую, а лучше несколько разных. Может у Вас тема что-то там мутит? У меня в теме изначально на страницах магазина не было сайдбаров, и я несколько дней думал, что так и надо, а потом переключил на одну из стандартных Wordress тем, и понял, что что-то там не так с темой... :confused:
 

Валерий

Специалист
#5
Специально сейчас сменил тему оформления на twentytwelve, чтобы проверить. o_O
У меня описания для категорий выводятся. :) И я ничего специально для этого не делал. :D
 

Timon-Dimon

Новичок
#6
А Вас WooCommerce "узнает по походке" :) Это вот что?

А это?
Все это, между прочим, из исходников WooCommerce. ;)
Где это взято? Где искать стиль "походки"?:)

Специально сейчас сменил тему оформления на twentytwelve, чтобы проверить. o_O
У меня описания для категорий выводятся. :) И я ничего специально для этого не делал. :D
С выводм описания категори нет проблем, оно выводится. Проблема именно в выводе загруженного графического элемента к просматриваемой категории.

P.S. Вы попробуйте переключить тему оформления на какую-то другую, а лучше несколько разных. Может у Вас тема что-то там мутит? У меня в теме изначально на страницах магазина не было сайдбаров, и я несколько дней думал, что так и надо, а потом переключил на одну из стандартных Wordress тем, и понял, что что-то там не так с темой... :confused:
Видимо только так и придется искать решение.
 

Валерий

Специалист
#7
Где это взято? Где искать стиль "походки"?
wrapper-start.php
woocommerce-admin-init.php

Проблема именно в выводе загруженного графического элемента к просматриваемой категории.
Да, похоже в этой теме присутствует такая проблема, поскольку изображения для нескольких категорий у меня были, а когда я переключал на twentytwelve, то их не было, но я в тот момент не придал этому значения, так как сосредоточил свое внимание на выводе описаний! :)
 

delitant

Опытный
#8
Здравствуйте.
Подскажите плиз как одновременно вывести изображение и описание категории/подкатегории на странице просмотра товаров.
Страница товаров или страница категорий? Думаю можно такой плагин Rich Text Tags попробовать, если другого решения нет.
 
#9
Спасибо. Проверил, WooCommerce "узнает по походке".
Страница товаров или страница категорий?
Страница категорий.

Что-то "не выходит каменный цветок" с выводом изображения категории при просмотре подкатегорий (n) Проверил на 5 темах, не выводится.
Предложенный плагин dual-description-in-category не решает возникшую проблему.

Да, похоже в этой теме присутствует такая проблема, поскольку изображения для нескольких категорий у меня были, а когда я переключал на twentytwelve, то их не было, но я в тот момент не придал этому значения, так как сосредоточил свое внимание на выводе описаний! :)
А в какой теме выводилось? Чтоб скачать ее и проверить вывод.
 

Валерий

Специалист
#10
Что-то "не выходит каменный цветок" с выводом изображения категории при просмотре подкатегорий (n) Проверил на 5 темах, не выводится.Предложенный плагин dual-description-in-category не решает возникшую проблему...
Об этом я Вам прямо говорил, а точнее писал: "...он добавляет только второе (нижнее) описание для категорий..." В моем сообщении речи об изображениях не было! :)

Что-то "не выходит каменный цветок" с выводом изображения категории при просмотре подкатегорий (n) Проверил на 5 темах, не выводится...А в какой теме выводилось? Чтоб скачать ее и проверить вывод.
На всех вот этих темах выводится. Качайте любую, их там много. :D Только я подозреваю, ВАМ ЭТО, СКОРЕЕ ВСЕГО, НЕ ПОМОЖЕТ. Проблема не в темах, а в чем-то другом. 99% тем под WooCommerce должны ("я Вам не скажу за всю Одессу", лень проверять, но уверен, что именно так дело и обстоит. Возможно я погорячился насчет 99%, но каждая вторая точно сделает это) выводить картинки подкатегорий, когда нажимаешь на категорию. А может я просто Вас не понимаю. Я думаю об одном (например, вот родительская категория, а вот картинки подкатегорий), а Вы хотите совсем другого... :ROFLMAO:
 

delitant

Опытный
#12
У вас там с картинками совсем беда... Товары есть, а картинок нет. Или это у меня не отображаются?
 
#13
У вас там с картинками совсем беда... Товары есть, а картинок нет. Или это у меня не отображаются?
У товаров картинко нет, за исключением одного. На контент сейчас вовсе не стоит обращать внимания :) ибо площадка пока тестовая.
Но проблема именно в выводе картинок для категорий и их подкатегорий. Для этих элементов картинки загружены. Для примера прикреплен скрин подэлемента KIA. Тем самым мне необходимо получить вывод этой загруженной картинки на стр. подкатегории над ее описанием.
 

Вложения

Последнее редактирование:
#14
Проблема с выводом загруженных изображений категорий и подкатегорий решена.
Код отвечающий за проверку наличия загруженного изображения для категорий и подкатегори и вывода их описания:
PHP:
// WooCommerce - Show an archive description on taxonomy archives
if ( ! function_exists( 'woocommerce_taxonomy_archive_description' ) ) {
    /**
    * Show an archive description on taxonomy archives
    *
    * @access public
    * @subpackage    Archives
    * @return void
    */

  function woocommerce_taxonomy_archive_description() {
        global $woocommerce;
        global $wp_query;
        if ( is_tax( array( 'product_cat', 'product_tag' ) ) && get_query_var( 'paged' ) == 0 ) {

          $small_thumbnail_size      = apply_filters( 'single_product_small_thumbnail_size', 'shop_catalog' ); // отвечает за размер выводимого изображения
          $dimensions                = $woocommerce->get_image_size( $small_thumbnail_size );
          $cat                = $wp_query->get_queried_object();
          $thumbnail_id      = get_woocommerce_term_meta( $cat->term_id, 'thumbnail_id', true );
          $description        = apply_filters( 'the_content', term_description() );

        if ( $thumbnail_id ) {
            $image = wp_get_attachment_image_src( $thumbnail_id, $small_thumbnail_size  );
            $image = $image[0];
        } else {
            $image = woocommerce_placeholder_img_src();
        }

        echo '<div class="content_scene_cat">';
            if ( $image )
              echo '<div class="align_center">
                <img src="' . $image . '" alt="' . $cat->name . '" height="' . $dimensions['height'] . '" />
              </div>';
            if ( $description )
              echo '<div class="cat_desc">' . $description . '</div>';
            echo '</div>';
    }
    }

}
 
#15
Небольшое дополнение.
Если понадобится выводить оригинал загруженного изображения категории/подкатегории, в строке
PHP:
$image = wp_get_attachment_image_src( $thumbnail_id, $small_thumbnail_size );
необходимо убрать small_ Строка будет иметь вид
PHP:
$image = wp_get_attachment_image_src( $thumbnail_id, $thumbnail_size );
 

adward

Форумчанин
#16
Можете подсказать, как просто вывести подкатегории текущей категории?

что то я вообще уплыл с этим вопросом не в ту степь похоже.
 

D&B

Администратор
Команда форума
Местный
#17
Вставьте урл нужной подкатегории
Код:
[product_category category="" per_page="12" columns="4" orderby="date" order="desc"]
 

adward

Форумчанин
#18
Вставьте урл нужной подкатегории
Код:
[product_category category="" per_page="12" columns="4" orderby="date" order="desc"]
Понимаете ли, вы предлагаете мне шорткод, который не совсем подходит в моём случае.
Мне бы вывести заголовки и ссылки на подкатегории текущей категории. Списком.

вот, смотрите, как это выглядит в дизайне, и наверное, вопрос сразу будет понятен

То есть мне нужно подкатегории вывести кодом.
 

kalibri

Новичок
#19
Подскажите пожалуйста, как вывести подкатегории на странице родительской категории интернет магазина? У категорий нет id и не понятно какой шорткод прописывать в данном случае
 

D&B

Администратор
Команда форума
Местный
#20
Подскажите пожалуйста, как вывести подкатегории на странице родительской категории интернет магазина? У категорий нет id и не понятно какой шорткод прописывать в данном случае
Перейдите к редактированию своей подкатегории. ID будет видно в строке браузера.

Image 9.jpg
 
Сверху Снизу