WC()->cart->apply_coupon('КУПОН');
remove_action('woocommerce_single_variation','woocommerce_single_variation',10);
add_action('woocommerce_single_variation','woocommerce_single_variation',30);
add_action( 'woocommerce_email_before_order_table', 'fink_link_to_order', 25, 4);
function fink_link_to_order( $order, $sent_to_admin, $plain_text, $email ) {
if( false === $sent_to_admin ) {
echo '<a href="' . $order->get_view_order_url() . '">Ваш заказ №'. $order->get_order_number() .' на сайте</a>';
}
}
.single-product .quantity .qty {
display: none;
}
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
add_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 45 ); //В сторфронт выводим после мета описания
add_action('woocommerce_single_product_summary', 'fink_new_qty_add_to_cart', 30 ); //Добавляем новое поле кол-ва туда где была кнопка добавления в корзину
function fink_new_qty_add_to_cart() {
echo '<input type="number" class="new_qty" value="1">';
?>
<script>
jQuery(document).ready(function($) {
$('.new_qty').on('change', function(e) {
var qty = $(this);
$('.quantity .qty').val(qty.val());
});
});
</script>
<?php
}
add_filter( 'woocommerce_email_format_string', 'fink_add_email_placeholders', 10, 2 );
function fink_add_email_placeholders( $string, $email ) {
$order = $email->object;
$placeholders = array(
'{order_city}' => $order->get_billing_city(), // Город заказа
'{order_state}' => $order->get_billing_state(), //Область заказа
);
return str_replace( array_keys( $placeholders ), array_values( $placeholders ), $string );
}
count( WC()->cart->get_cart() );
WC()->cart->get_cart_contents_count
и замените на count( WC()->cart->get_cart() )
remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10 );
add_action( 'woocommerce_before_shop_loop_item_title', 'fink_template_loop_product_thumbnail', 10 );
function fink_template_loop_product_thumbnail() {
global $product;
$image_size = apply_filters( 'single_product_archive_thumbnail_size', $size );
$product_id = $product->get_id();
$image = get_the_post_thumbnail_url( $product_id, $image_size ); //Получаем url картинки
if ( $image ) {
$image = str_replace( ' ', '%20', $image );
$image_webp = str_replace( ['.png', '.jpg', '.jpeg', '.gif'], '.webp', $image );
echo '<div class="product__catalog-img"><picture><source srcset="' . esc_url($image_webp) . '" type="image/webp"><img src="' . esc_url($image) . '" alt="' . esc_attr( $product->get_name() ) . '"></picture></div>';
}
}
$args = array(
'product_cat' => 'product_category', //Указываем категорию
'post_type' => 'product',
'posts_per_page' => -1,
'orderby' => 'menu_order',
'order' => 'ASC',
);
$products = new WP_Query( $args );
while ( $products->have_posts() ) : $products->the_post();
global $product;
echo $product->get_id();
endwhile;
global $product;
$attributes = $product->get_variation_attributes();
foreach ($attributes as $attribute => $values) {
echo $attribute; //Id атрибута
echo wc_attribute_label( $attribute, $product ); //Label атрибута
foreach ($values as $value) { //Выводим возможные значения этого атрибута
echo $value; //Значение атрибута
}
}
add_filter( 'woocommerce_get_price_html', 'fink_add_label_to_price', 10, 2 );
function fink_add_label_to_price( $price, $product ) {
$price = $price.' /шт.';
return $price;
}