/ Сайтостроение / Плагины / Woocommerce основы

Woocommerce основы

19.02.2017

236

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

<?php echo $_product->get_sku( $cart_item ); ?> // Вывести артикул в корзине

echo get_the_title( $product->id ); // вывести название товара

global $product; 
echo $product->get_sale_price(); // вывести акционную цену

echo the_excerpt(); // вывести краткое описание

echo $product->get_stock_quantity(); // вывести количество товара в наличии

echo $product->get_price();  // вывести цену

//Вывести даты начала / окончания акционной цены
global $post;
echo get_post_meta($post->ID, '_sale_price_dates_to', true);
echo get_post_meta($post->ID, '_sale_price_dates_from', true);

Интерпритация даты в нормальный вид
global $post;
$sales_price_to = get_post_meta($post->ID, '_sale_price_dates_to', true);
$sales_price_date_to = date("j M y", $sales_price_to);
echo $sales_price_date_to

Проверки

Проверка на распродажный товар

global $product;
if ( $product->is_on_sale() ) {
    do_something();
}

Проверка на товар, которого нет в наличии

global $product;
if (!$product->is_in_stock()) {
    do_something();
}

Альтернативная проверка наличия

if ($product->get_stock_quantity() == 0) {}

Глобально запретить предзаказы на сайте

Рекомендованные товары

Featured является термином таксономии product_visibility, т.е. если товар «рекомендуемый», то он привязан (в таблице БД wp_term_relationships) к термину featured.

Товар всегда в наличии и наоборот

Если по каким бы то ни было причинам (например обмен с 1С) нам нужно сделать принудительно товары какой-то категории всегда в наличии или наоборот, можно это сделать так:

Для категории с подкатегориями (чтобы применить правило и в них):

// Отключаем возможность заказа Товары для дома и сада
function wc_сonditions_domsad() {
	$args = array(
		'child_of'           => 954, //категория Товары для дома и сада
		'hide_empty'         => 1,
		'depth'              => -1,
		'taxonomy'           => 'product_cat',
	);

	$list_product_categoryes = get_categories( $args );

	$category_ids = array();

	foreach($list_product_categoryes as $product_category) $category_ids[] = $product_category->term_id;

	global $product;
	$cur_term = get_the_terms($product->id, 'product_cat');

	if (in_array($cur_term[0]->term_id, $category_ids)) {
		update_post_meta($product->id, '_stock_status', 'outstock');
	}
}
add_filter( 'woocommerce_single_product_summary', 'wc_сonditions_domsad', 6 );
add_filter( 'woocommerce_after_shop_loop_item_title', 'wc_сonditions_domsad', 6 );

Для категории без подкатегорий:

// Отключаем возможность заказа Изоляционные материалы
function wc_сonditions_izolation() {

	global $product;
	$cur_term = get_the_terms($product->id, 'product_cat');

	if ($cur_term[0]->term_id == 719) {
		update_post_meta($product->id, '_stock_status', 'outstock');
	}
}
add_filter( 'woocommerce_single_product_summary', 'wc_сonditions_izolation', 6 );
add_filter( 'woocommerce_after_shop_loop_item_title', 'wc_сonditions_izolation', 6 );

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

Тэги:

Поделится информацией с друзьями

  • Похожие записи
  • Комментарии
  • Вложения
Metabox woocommerce

Metabox woocommerce

У плагина woocommerce есть набор дополнительных полей при редактировании товара. При необходимости можно в группы полей WC добавить свои произвольные metabox. Должно получится так: Создание и отображение metabox Первый экшн Читать далее »

/
Интеграция Woocommerce с 1С

Интеграция Woocommerce с 1С

Интеграция Woocommerce с 1С — довольно сложная тема с множеством нюансов. Буду описывать на что стоит обращать внимание, с какими проблемами пришлось столкнуться. Плагин 1С:Предприятие Data Exchange Так как не Читать далее »

Субкатегории в категориях Woocommerce

Субкатегории в категориях Woocommerce

В шаблоне вывода категорий Woocommerce к каждой категории можно выводить список субкатегорий. Для этого в шаблоне content-product_cat.php, перед закрывающим тегом /li вставляем следующее <div class="podrazdely"> <?php $wsubargs = array( 'hierarchical' Читать далее »

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

Пока нет комментариев. Будь первым!

Woocommerce основы
Плагины Must-Use
Рекомендации для васПлагины Must-UseOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.