Від автора: в WooCommerce є архівні сторінки і цикли, але, буває, потрібно показати більше інформації на головній сторінці та інших архівних сторінках магазину. У цьому уроці я покажу, як додати в WooCommerce опис товару на архівні сторінки і відобразити його під заголовком товару.
Що вам потрібно
Для роботи вам знадобиться:
Установка WordPress
Редактор коду
Встановлений і активоване WooCommerce
Додані товари – я взяла стандартні дані для товарів, які пропонує WooCommerce; більш докладно в цьому керівництві
Активована тема, сумісна з WooCommerce – я використовую Storefront
Перш ніж приступити, налаштуйте WooCommerce. Для додавання короткого опису товару вам необхідно виконати наступні 3 кроки:
Створити і активувати плагін для функції
Додати функцію виведення короткого опису товару
Визначити хук в WooCommerce, в який необхідно вставити функцію
Створення плагіна
Створіть новий PHP файл в папці wp-content/plugins. Я назвала свій tutsplus-product-archive-short-descriptions.php. Відкрийте файл у редакторі коду. У верхню частину файлу додайте цей код:
Ці рядки налаштують плагін та передадуть в WordPress всю інформацію для активації. Перейдіть на екран plugins в панелі адміністратора WordPress і знайдіть плагін:
Активуйте його. Якщо плагін порожній, то ви не помітите різниці. Зараз головна сторінка магазину виглядає так:
Написання функції виведення короткого опису
Короткий опис товарів в WooCommerce використовує витримки, як у звичайних постах. Щоб відобразити його, досить відобразити витримку до посту. Додайте наступний код у файл плагіна:
function tutsplus_excerpt_in_product_archives() {
the_excerpt();
}
Ось так просто! Тепер функцію необхідно причепити до правильного екшену, щоб короткий опис виводилося в правильному місці на архівних сторінках.
Вставка функції в правильний екшен
Давайте поглянемо на файл в WooCommerce, що відповідає за висновок контенту циклу на архівні сторінки. Цей файл content-product.php і лежить він в папці templates в плагіні WooCommerce.
Файл містить ряд хуков, всі вони використовуються в WooCommerce для виведення різного контенту.
Ми хочемо відобразити витримку під заголовком товару, тому нам потрібен хук woocommerce_after_shop_loop_item_title. У файлі content-product.php цей хук використовує 2 функції woocommerce_template_loop_rating() і woocommerce_template_loop_price() з пріоритетами 5 і 10 відповідно. Нам потрібно причепити нашу функцію з більш високим пріоритетом, щоб вона запускалася пізніше. Я візьму з запасом 40.
Під функцією додайте:
add_action( ‘woocommerce_after_shop_loop_item_title’, ‘tutsplus_excerpt_in_product_archives’, 40 );
Збережіть файл плагіна і оновіть сторінку магазину в браузері. Тепер під товарами відображається короткий опис:
Ці описи дуже довгі. На цьому сайті я використовувала б текст коротші. Зате так чітко видно, що вони відображаються на архівних сторінках.
Висновок
WooCommerce майже весь контент відображає за допомогою хуков, що спрощує додавання нового контенту. Потрібно лише написати функцію і прикріпити її до хуку. У цьому уроці ви дізналися, як додати короткий опис товару на архівні сторінки товарів. Можна додати один-два умовних тега функцію, щоб опис відображалося лише на певних сторінках.