Ваш путь: Главная » WooCommerce и WordPress » текущая страница
возможно заказать разработку или сопровождение, услуги вашего сайта/блога

написано: — 
отредактировано: 2020-12-20
издатель: в теме: WooCommerce и WordPress пост видели: 95
Запросто с WordPress — создание сайтов ATs media

Добавляем краткое описание (Description) к товару в каталоге товаров WooCommerce

В статье рассмотрим несколько примеров (с пояснениями) по теме, как добавить дескрипшин Description описание к товару в каталоге WooCommerce.

Посмотрим какие есть минусы в том или ином варианте вызова во фронтенде описания в карточке товара.

 

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

 

С подобными вопросами коррекции отображения карточки товара, ко мне обращается большинство из моих клиентов владельцев магазинов, а потому, думаю, эта статья при случае будет весьма полезна в рамках темы о woocommerce.

 


 

 

 

 

 

 

Как добавить краткое описание (Description) к товару в каталоге товаров WooCommerce

 

 

 

 

Если вам необходимо в каталоге товаров вывести описание (дескрипшин Description) к товару, то эту задачу, как и говорилось, можно решить несколькими способами.

 

 

Я дам в статье пару рабочих, что называется «из коробки», вариантов.

 

 

Создаем произвольную функцию (для первого варианта, к примеру, ats_exc_description), эту функцию привяжем к фильтру события woocommerce_after_shop_loop_item_title.

 

 

В итоге получим обычный фильтр, который и поможет вывести описание к товару в магазине на woocommerce (данные коды добавлять в functions.php или свой плагин):

 

 

 

add_action( 'woocommerce_after_shop_loop_item_title', 'ats_exc_description', 9 );
function ats_exc_description() {
echo the_excerpt() . '<br />';
}

 

 

 

Выведет дескрипшин к описанию товара. Величина текста в символах будет равна числу символов в настройках функции the_excerpt().

 

Обычно эту функцию переопределяют в файлах шаблона (на сайте есть пост по теме).

 

 

Кратко:

 

Обрезать текст внутри цикла возможно таким образом:

 

 

$text = strip_tags( get_the_content() );
echo mb_substr( $text, 0, 200 ); // 200 - число символов

 

 

 

Продолжаем…

 

 

Если вам нужно задать количество выводимых на экран символов непременно в коде для wooc, то есть получить по сути автономный код для вызова дескрипшн к товару, тогда поступаем так:

 

 

Используем в functions.php или плагине такой код:

 

 

/*description of the product description in the category catalog*/
add_action( 'woocommerce_after_shop_loop_item_title', 'ats_add_short_description', 9 ); // 9 приоритет
function ats_add_short_description() {
global $post;
$text = $post->post_excerpt;
$maxchar = 120; //макс кол-во символов
$text = preg_replace ('~\[[^\]]+\]~', '', $text ); //no шорткоды

//удаляем всякую html символику
$text = strip_tags( $text);

// срезаем
if ( mb_strlen( $text ) > $maxchar ){
$text = mb_substr( $text, 0, $maxchar );
$text = preg_replace('@(.*)\s[^\s]*$@s', '\\1 ...', $text );
}
echo '<div class="w-desc">'; // обернём в div класс - можно это написать одной строкой, но я для ясности прописал так
echo $text;
echo '</div>';

}
/*description of the product description in the category catalog*/

 

 

 

В коде даны кое-какие пояснения, так что подробно разжевывать не стану.

 

 

К примеру, о приоритете:

 

В комментариях к файлу wooc content-product.php даны подсказки (об этом файле ниже):

 

 

@hooked woocommerce_template_loop_rating - 5 //приоритет

@hooked woocommerce_template_loop_price - 10 //приоритет

 

 

играя цифровым значением приоритетов можно указать последовательность (между чем и чем) выводить описание к товару магазина wooc.

В кодах выше у меня задано значение 9.

 

 

После использования одного из выше показанных кодов, в вашем магазине в карточке товара(ов) появится описание.

 

 

Получится примерно по такому принципу:

 

 

 

Description WooCommerce

 

 

 

Вариант 2: (Однако, советую использовать первый вариант, потому что тот вариант наиболее логичен. Пояснения ниже)

 

 

полезно почитать:
Наиболее полная подборка, пояснения Условные теги woocommerce

Подборка полезного кода (сниппеты) для работы магазина на WooCommerce…

Woocommerce шорткоды и их применение…

Как настроить размеры изображений товаров в магазине WooC…

 

 

 

 

к оглавлению

добавим краткое описание (Description) к товару в каталоге WooCommerce

 

 

 

Этот вариант имеет свои плюсы и минусы. А поэтому целесообразно в этом посте упомянуть и о нём.

 

 

Прицепим код для вывода описания (description) товара напрямую в коде файла.

 

 

Для реализации сей задачи нужно перейти в директорию плагина woocommerce, отыскать и скопировать из папки woocommerce/templates файл content-product.php, о нем я упомянул выше. Этот файл как раз отвечает за вывод товаров в цикле каталога Woocommerce.

 

Далее создаём в папке ядра шаблона сайта подпапку с именем woocommerce. И в эту новую папку помещаем скопированный файл из ядра плагина.

К слову, в эту папку в дальнейшем будем помещать и другие требуемые для магазина файлы из ядра — подробности

 

 

Теперь добавляем в перенесённый файл (в требуемое конкретное место для вывода описания) примерно такую строку:

 

 

<?php echo apply_filters( 'woocommerce_short_description', $post->post_excerpt ) ?>

 

 

Подобный подход переноса файла из плагина woocommerce в шаблон обусловит сохранность правок файла (ведь редактировать напрямую файлы плагин нельзя!)!

 

 

 

Минусы (а для кого-то плюсы) в том, что придётся время от времени в связи с обновлениями woocommerce в теме подправлять файл wooc!

 

 

Этот вариант вывода описания товара в каталоге woocommerce подойдёт для тех администраторов магазинов, которые строят какой-то свой уникальный дизайн отображения страниц! Тогда, да! в этом конкретном случае наиболее целесообразно перенести файл wooc в ядро шаблона и там работать…

 

 

 

Как итог наших правок, краткое описание будет выведено в карточке товара в каталоге woocommerce.

 

 

 

В качестве бонуса к статье следующий раздел:

 

 

 

 

 

к оглавлению

как убрать количество товара в категории woocommerce

 

 

 

 

 

Чтобы убрать выводимое в TITLE число товаров опубликованных в категории (цифровое значение) нужно всего-то в файл функций активного шаблона (либо свой плагин) добавить код, показанный ниже:

 

 

 

/*remove the number of products = убраем количество товара в категории*/
add_filter( 'woocommerce_subcategory_count_html', 'ats_woocs_remove_category_products_count' );
function ats_woocs_remove_category_products_count() {
return;
}
/*remove the number of products*/

 

 

 

Подборка полезного кода для работы с магазином на woocommerce описана по ссылке выше.

 

 

 

Если чего-то упустил описать… и если непонятно, задавайте вопросы в комментариях…

 

 

 

 

Смена эл/почты; логина пользователя; пароля через Базу Данных за минуту

 

 

 

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...




Нажатия на кнопочки определяют Ваше высокое гражданское сознание
Удачи в работе и творчестве..!
Статьи по теме:


Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©