Часто используемые сниппеты woocommerce
21.04.2021

Сниппеты Woocommerce

Краткое описание продукта

Вывести кастомное краткое описание продукта, которое отображается справа от фотографии продукта. Его всегда можно поменять на странице продукта.

Добавление краткого описания продукта по умолчанию
add_action( 'woocommerce_single_product_summary', 'echo_short_desc_if_empty', 21 );
 
function echo_short_desc_if_empty() {
   global $post;
   if ( empty ( $post->post_excerpt  ) ) {
      $post_excerpt = '<p class="default-short-desc">';
        $post_excerpt .= 'Включает в себя 1 простынь, 1 пододеяльник, 2 наволочки';
        $post_excerpt .= '</p>';
      echo $post_excerpt;
   }
}

Отображение только минимальной цены на страницах категорий

Отображение диапазона цен вариативного товара в каталоге woocommerce
Отображение диапазона цен вариативного товара в каталоге woocommerce
Отображение минимальной цены вариативного товара в каталоге woocommerce
Отображение минимальной цены вариативного товара в каталоге woocommerce
add_filter( 'woocommerce_variable_price_html', 'custom_variation_price', 20, 2 );
 
function custom_variation_price( $price, $product ) {
 
    $min_regular_price = $product->get_variation_regular_price( 'min', true );
    $min_sale_price = $product->get_variation_sale_price( 'min', true );
    $max_regular_price = $product->get_variation_regular_price( 'max', true );
    $max_sale_price = $product->get_variation_sale_price( 'max', true );
 
    if ( ! ( $min_regular_price == $max_regular_price && $min_sale_price == $max_sale_price ) ) {
        if ( $min_sale_price < $min_regular_price ) {
            $price = sprintf( '<del>%1$s</del><ins>%2$s</ins>', wc_price( $min_regular_price ), wc_price( $min_sale_price ) );
        } else {
            $price = sprintf( '%1$s', wc_price( $min_regular_price ) );
        }
    }
 
    return $price;
 
}

Цена поменяется как в каталоге, так и в карточке товара

Поднять цену вариативного товара на место основной либо диапазона цена

Поднятие цены вариативного товара и замена основной цены
Поднятие цены вариативного товара и замена основной цены
function shuffle_variable_product_elements(){
    if ( is_product() ) {
    global $post;
    $product = wc_get_product( $post->ID );
    if ( $product->is_type( 'variable' ) ) {



remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation', 10 );
add_action('woocommerce_before_variations_form', 'woocommerce_single_variation', 10);
add_filter('woocommerce_reset_variations_link', '__return_empty_string');

    }
    }
}

add_action( 'woocommerce_before_single_product', 'shuffle_variable_product_elements' );

Последней строкой в функции убираем кнопку Сбросить

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