Не так давно столкнулся с задачей по выводу в товарной карточке строки «В наличии» и «Нет в наличии», по идее 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. не забывайте поддержать проект, клацните на рекламу)