/ Плагины / Различные наработки по Woocommerce

Различные наработки по Woocommerce

HIT

17.08.2021

1112

1

Очередной сборник различных наработок для плагина Woocommerce.

Изменить вывод заголовка товара

Выведем вместо заголовка краткий заголовок, созданный в виде дополнительного поля.

Создание поля

// Поле Краткое название

add_action( 'woocommerce_product_options_general_product_data', 'shorttitle_custom_general_fields' );
add_action( 'woocommerce_process_product_meta', 'shorttitle_custom_general_fields_save' );

function shorttitle_custom_general_fields() {

	global $woocommerce, $post;

	echo '<div class="options_group">';

	woocommerce_wp_text_input( 
		array( 
			'id' => 'shorttitle_field', 
			'label' => __( 'Краткое название', 'woocommerce' ), 
			//'desc_tip' => 'true',
			//'description' => __( 'Краткое название', 'woocommerce' ),
			'type' => 'html'
		)
	);

	echo '</div>';

}

function shorttitle_custom_general_fields_save( $post_id ){

	// Text Field
	$woocommerce_text_field = $_POST['shorttitle_field'];
	if( !empty( $woocommerce_text_field ) )
		update_post_meta( $post_id, 'shorttitle_field', esc_attr( $woocommerce_text_field ) );

}

Выводы в каталоге и карточке товара. Если поле краткий заголовок пустое, то будет выводится стандартный заголовок.

// Изменить вывод заголовка товара (в каталоге)
remove_action( 'woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title' );
add_action( 'woocommerce_shop_loop_item_title', 'custom_woocommerce_template_loop_product_title', 99 );

function custom_woocommerce_template_loop_product_title() {
    global $post;

    $product = wc_get_product( $post->ID );
	$title = get_post_meta( $post->ID, 'shorttitle_field', true );
    if( $title ) {
        echo '<h2 class="woocommerce-loop-product__title">' . esc_html( $title ) . '</h2>';
    } else {
        echo '<h2 class="woocommerce-loop-product__title">' . esc_html( $product->get_title() ) . '</h2>';
    }
}


// Изменить вывод заголовка товара (в карточке товара)
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
add_action( 'woocommerce_single_product_summary', 'custom_woocommerce_template_single_product_title', 5 );
add_action( 'woocommerce_mobile_title_product', 'custom_woocommerce_template_single_product_title', 5 );

function custom_woocommerce_template_single_product_title() {
    global $post;

    $product = wc_get_product( $post->ID );
	$title = get_post_meta( $post->ID, 'shorttitle_field', true );
    if( $title ) {
        echo '<h1 class="product_title entry-title">' . esc_html( $title ) . '</h1>';
    } else {
        echo '<h1 class="product_title entry-title">' . esc_html( $product->get_title() ) . '</h1>';
    }
}

К сожалению нельзя переопределить вывод заголовка глобально во всех шаблонах (корзина, заказ и т.д.).

В корзине показывать цену со скидкой

По умолчанию в корзине показывается только финальная цена со скидкой. Чтобы показать старую зачеркнутую цену используем функцию:

add_filter( 'woocommerce_cart_item_price', 'bbloomer_change_cart_table_price_display', 30, 3 );
  
function bbloomer_change_cart_table_price_display( $price, $values, $cart_item_key ) {
   $slashed_price = $values['data']->get_price_html();
   $is_on_sale = $values['data']->is_on_sale();
   if ( $is_on_sale ) {
      $price = $slashed_price;
   }
   return $price;
}

Распространяется и на мини-корзину.

Поделиться в соц. сетях:

  • Похожие записи
  • Комментарии
  • Вложения
Массовое редактирование свойств товаров

Массовое редактирование свойств товаров

Быстрое изменение товаров Для того чтобы массово отредактировать товары woocommerce нужно установить плагин Woocommerce advanced bulk edit. В репозитории плагинов WordPress его нет, он платный. Если поискать на просторах интернета Читать далее »

/ /
Поле для вариативного товара

Поле для вариативного товара

Как делать произвольные (пользовательские) поля для товаров Woocommerce описано здесь. Но теперь пойдем дальше — сделаем поле для вариативного товара. Это должно открыть горизонты для интересных решений. Но я предвижу Читать далее »

Разбираем woocommerce на молекулы

Разбираем woocommerce на молекулы

В данном материале разбираем некоторые хуки woocommerce, их последовательность, а также в структуру шаблонов WC и их проверку. Добавляем стандартные хлебные крошки WC <?php woocommerce_breadcrumb(); ?> Файлы шаблона: archive-product.php — Читать далее »

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

1 комментарий

  1. Полковник (настоящий)

    Бля, сегодня такую тёлку пёр!

Различные наработки по Woocommerce
Плагин: Миниатюра таксономии
Рекомендации для васПлагин: Миниатюра таксономииOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.