<form class="form-add-to-cart">
<input type="number" class="input-quantity" step="1" min="1" max="" name="quantity" value="1" title="Кол-во" size="4" pattern="[0-9]*" inputmode="numeric">
<input type="hidden" name="product_id" value="171" />
<label>
<input type="submit" />
<svg><use xlink:href="#icon-cart-plus"></use></svg>
</label>
</form>
$('body').on('submit', '.form-add-to-cart', function(){
var $form = this;
$.ajax({
url: woocommerce_params.wc_ajax_url.toString().replace( '%%endpoint%%', 'add_to_cart' ),
data: {
action: 'add_to_cart',
product_id: this.product_id.value,
quantity: this.quantity.value
},
type: "post",
beforeSend:function(xhr){
// меняем текст кнопки
filter.find('button').text('Processing...'); // changing the button label
},
success:function(data){
// здесь меняете параметры кнопки, после успешного добавления в корзину
}
});
return false;
});
<?php
/**
* The Template for displaying product archives, including the main shop page which is a post type archive
*
* This template can be overridden by copying it to yourtheme/woocommerce/archive-product.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible, but it does
* happen. When this occurs the version of the template file will be bumped and
* the readme will list any important changes.
*
* @see https://docs.woocommerce.com/document/template-structure/
* @author WooThemes
* @package WooCommerce/Templates
* @version 2.0.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
get_header( 'shop' ); ?>
<?php
/**
* woocommerce_before_main_content hook.
*
* @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content)
* @hooked woocommerce_breadcrumb - 20
* @hooked WC_Structured_Data::generate_website_data() - 30
*/
do_action( 'woocommerce_before_main_content' );
?>
<header class="woocommerce-products-header">
<?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?>
<h1 class="woocommerce-products-header__title page-title"><?php woocommerce_page_title(); ?></h1>
<?php endif; ?>
<?php
/**
* woocommerce_archive_description hook.
*
* @hooked woocommerce_taxonomy_archive_description - 10
* @hooked woocommerce_product_archive_description - 10
*/
do_action( 'woocommerce_archive_description' );
?>
</header>
<?php if ( have_posts() ) : ?>
<?php
/**
* woocommerce_before_shop_loop hook.
*
* @hooked wc_print_notices - 10
* @hooked woocommerce_result_count - 20
* @hooked woocommerce_catalog_ordering - 30
*/
do_action( 'woocommerce_before_shop_loop' );
?>
<?php woocommerce_product_loop_start(); ?>
<?php woocommerce_product_subcategories(); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php
/**
* woocommerce_shop_loop hook.
*
* @hooked WC_Structured_Data::generate_product_data() - 10
*/
do_action( 'woocommerce_shop_loop' );
?>
<?php wc_get_template_part( 'content', 'product' ); ?>
<?php endwhile; // end of the loop. ?>
<?php woocommerce_product_loop_end(); ?>
<?php
global $wpdb;
$q = get_queried_object();
$current_category_id = $q->term_id;
echo "Номер категории = $current_category_id";
$max_price = $wpdb->get_var($wpdb->prepare("SELECT MAX(m.meta_value) FROM wp_posts p INNER JOIN wp_term_relationships r ON (p.ID = r.object_id) INNER JOIN wp_postmeta m ON (p.ID = m.post_id) WHERE r.term_taxonomy_id = %s AND p.post_type = 'product' AND p.post_status = 'publish' AND m.meta_key = '_regular_price'", $current_category_id));
$min_price = $wpdb->get_var($wpdb->prepare("SELECT MIN(m.meta_value) FROM wp_posts p INNER JOIN wp_term_relationships r ON (p.ID = r.object_id) INNER JOIN wp_postmeta m ON (p.ID = m.post_id) WHERE r.term_taxonomy_id = %s AND p.post_type = 'product' AND p.post_status = 'publish' AND m.meta_key = '_regular_price'", $current_category_id)); ?>
В каталоге Септик-Пермь Вы найдете для себя привлекательные цены на <?php woocommerce_page_title(); ?>. Всего в категории <?php woocommerce_page_title(); ?> представлено
<?php $total = $wp_query->found_posts; printf( _n( '%d', $total, 'woocommerce' ), $total ); ?> наименования товара.
Подробные характеристики с описанием, фотографии товара, схемы, инструкции, стоимость и реальные отзывы покупателей на <?php woocommerce_page_title(); ?>.
<h4>Как купить <?php woocommerce_page_title(); ?></h4>
Наши специалисты помогут Вам правильно подобрать и купить <?php woocommerce_page_title(); ?> по выгодной цене. На <?php woocommerce_page_title(); ?>
цена от <?php echo $min_price; ?> до <?php echo $max_price; ?> руб.
Заказать товар можно прямо на сайте, или позвонив по указанному телефону. Вы можете купить <?php woocommerce_page_title(); ?> в кредит. Доступны любые виды оплаты (наличный, безналичный расчет).
<h4>Что с доставкой</h4>
Мы доставляем <?php woocommerce_page_title(); ?> транспортными компаниями во все города России, в том числе и Ваш город <?php echo do_shortcode('[geoip_detect2 property="city"]'); ?>.
Стоимость доставки считается индивидуально.
<?php
/**
* woocommerce_after_shop_loop hook.
*
* @hooked woocommerce_pagination - 10
*/
do_action( 'woocommerce_after_shop_loop' );
?>
<?php elseif ( ! woocommerce_product_subcategories( array( 'before' => woocommerce_product_loop_start( false ), 'after' => woocommerce_product_loop_end( false ) ) ) ) : ?>
<?php
/**
* woocommerce_no_products_found hook.
*
* @hooked wc_no_products_found - 10
*/
do_action( 'woocommerce_no_products_found' );
?>
<?php endif; ?>
<?php
/**
* woocommerce_after_main_content hook.
*
* @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content)
*/
do_action( 'woocommerce_after_main_content' );
?>
<?php
/**
* woocommerce_sidebar hook.
*
* @hooked woocommerce_get_sidebar - 10
*/
do_action( 'woocommerce_sidebar' );
?>
<?php get_footer( 'shop' ); ?>