Как в карточку товаров добавить отображение строки «Товар в наличии»

brandpixel.ru
3 мин. на чтение

Не так давно столкнулся с задачей по выводу в товарной карточке строки «В наличии» и «Нет в наличии», по идее WooCommerce из коробки позволяет это делать, но сложность заключалась в том, что тема была премиальная, к тому же она предоставляет множество вариантов дизайна, и по всей видимости разработчик данной темы просто вырезал данную возможность хирургическим методом. Но мы не пальцем деланные, и необходимость в выводе злощастной строки у нас стоит крайне остро, по этому сбегаем за инструментом, и будем пришивать обратно.

Что нам потребуется для решения подобной задачи?

Прямые руки

Голова

Интернет и поисковик

После небольших манипуляций с браузером, мы вышли на карту хуков товарной карточки, нашли необходимый для нас хук, и в него поместили вот такой код:

if (get_post_meta(get_the_ID(), '_stock_status', true) == 'outofstock') {     echo '<div class="outofstock">Нет в наличии</div>'; } else {     echo '<div class="stock">В наличии</div>'; }

Если кратко, то это условие, ЕСЛИ статус в настройках товара установлен на НЕТ В НАЛИЧИИ, то выводим «Нет в наличии», или (если товар есть) — выводим «В наличии»

Теперь данный замечательный код нам необходимо куда то поместить, и естественно мы идем в function.php, куда же без него и разворачиваем экшн:

add_action( 'woocommerce_template_single_price', 'wpwc_stock_hook', 20); function wpwc_stock_hook(){      //а здесь будет код указанный выше  }

И конечно весь код в сборе:

  add_action( 'woocommerce_template_single_price', 'wpwc_stock_hook', 20); function wpwc_stock_hook(){          if (get_post_meta(get_the_ID(), '_stock_status', true) == 'outofstock') {         echo '<div class="outofstock">Нет в наличии</div>';     } else {         echo '<div class="stock">В наличии</div>';     }  }  

И как бы все работает, и отлично, но базовая кастомизация нас не устраивает, по этому добавляем нужные нам классы в блоки DIV (смотрите «Что такое классы CSS»), и добавляем нужные нам кастомные параметры в редакторе CSS, либо в файле стилей к примеру дочерней темы ну или если совсем все плохо, то впихиваем в материнскую тему, тоже кстати в файл стилей темы (обычно он звучит как style.css и расположен в корне папки темы: https://domain.ru/wp-content/themes).

На этом все, всем удачи.

p.s. не забывайте поддержать проект, клацните на рекламу)

Поделитесь этой статьей
Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *