在Woocommerce中的产品自定义循环上启用Ajax添加到购物车按钮

Durgesh Tanwar

这是我为产品归档页面的自定义循环代码编写的代码。我想使用ajax将产品添加到购物车。我该怎么办?
我也想知道哪个woocommerce功能向客户显示woocommerce通知。就像我单击“添加到购物车”时一样,应向客户端显示已添加产品的通知。

$args = array(
    'post_type' => 'product',
    'posts_per_page' => 12,
);
$loop = new WP_Query($args);
if ($loop->have_posts()) {
    while ($loop->have_posts()): $loop->the_post();
      ?>
        <!-- tab product -->
        <li class="col-sx-12 col-sm-4">
          <div class="product-container">
            <div class="left-block">
              <a href="<?php echo get_permalink(); ?>" target="_blank">
                <?php $image = wp_get_attachment_image_src(get_post_thumbnail_id($loop->post->ID), 'single-post-thumbnail');?>
                <img height="300px" width="300px" class="img-responsive" alt="product" src="<?php echo $image[0]; ?>">
              </a>
              <div class="quick-view">

              </div>
              <div class="add-to-cart ">
                <a href="<?php echo $product->add_to_cart_url(); ?>" class="cart">
                  <span>
                    <span class="add-to-cart-content">Add To Cart
                    </span>
                  </span>
                </a>
              </div>
            </div>
            <div class="right-block">
              <h5 class="product-name">
                <a href="<?php echo get_permalink(); ?>" target="_blank" class="product-block-click">
                  <?php echo $product->get_title(); ?>
                </a>
              </h5>
              <div class="content_price">
                <span class="price product-price">
                  <i class="fa fa-inr" aria-hidden="true">
                  </i>
                  <?php echo $product->get_regular_price(); ?>
                </span>
                <span class="price old-price">
                  <i class="fa fa-inr" aria-hidden="true">
                  </i>
                  <?php echo $product->get_sale_price(); ?>
                </span>
                <span class="discount-block">50 % OFF
                </span>
              </div>
            </div>
          </div>
        </li>
      <?php
    endwhile;
}
echo "</ul>";
wp_reset_postdata();
?>
LoicTheAztec

对于您的Ajax添加到购物车按钮,您只需要使用与模板中相同的代码即可loop/add-to-cart.php (如果您不习惯Woocommerce,则不会那么简单)

没有关于Ajax添加到购物车操作的通知,而是在执行该操作的“添加到购物车”按钮的右侧出现了“查看购物车”按钮。

注意:

  • Ajax的添加到购物车按钮不适用于可变产品或分组产品。
  • 需要在Woocommerce>设置>产品中启用Ajax添加到购物车:

在此处输入图片说明

使用功能性Ajax重新添加到购物车按钮后的代码:

$loop = new WP_Query( array(
    'post_type' => 'product',
    'posts_per_page' => 12,
) );

if ($loop->have_posts()) {
    while ($loop->have_posts()): $loop->the_post();
      $product = wc_get_product($loop->post->ID);
      ?>
        <!-- tab product -->
        <li class="col-sx-12 col-sm-4">
          <div class="product-container">
            <div class="left-block">
              <a href="<?php echo get_permalink(); ?>" target="_blank">
                <?php $image = wp_get_attachment_image_src(get_post_thumbnail_id($loop->post->ID), 'single-post-thumbnail');?>
                <img height="300px" width="300px" class="img-responsive" alt="product" src="<?php echo $image[0]; ?>">
              </a>
              <div class="quick-view">

              </div>
              <div class="add-to-cart "><?php
                echo sprintf( '<a href="%s" data-quantity="1" class="%s" %s>%s</a>',
                    esc_url( $product->add_to_cart_url() ),
                    esc_attr( implode( ' ', array_filter( array(
                        'button', 'product_type_' . $product->get_type(),
                        $product->is_purchasable() && $product->is_in_stock() ? 'add_to_cart_button' : '',
                        $product->supports( 'ajax_add_to_cart' ) ? 'ajax_add_to_cart' : '',
                    ) ) ) ),
                    wc_implode_html_attributes( array(
                        'data-product_id'  => $product->get_id(),
                        'data-product_sku' => $product->get_sku(),
                        'aria-label'       => $product->add_to_cart_description(),
                        'rel'              => 'nofollow',
                    ) ),
                    esc_html( $product->add_to_cart_text() )
                );
              ?></div>
            </div>
            <div class="right-block">
              <h5 class="product-name">
                <a href="<?php echo get_permalink(); ?>" target="_blank" class="product-block-click">
                  <?php echo $product->get_title(); ?>
                </a>
              </h5>
              <div class="content_price">
                <span class="price product-price">
                  <i class="fa fa-inr" aria-hidden="true">
                  </i>
                  <?php echo $product->get_regular_price(); ?>
                </span>
                <span class="price old-price">
                  <i class="fa fa-inr" aria-hidden="true">
                  </i>
                  <?php echo $product->get_sale_price(); ?>
                </span>
                <span class="discount-block">50 % OFF
                </span>
              </div>
            </div>
          </div>
        </li>
      <?php
    endwhile;
}
echo "</ul>";
wp_reset_postdata();
?>

经过测试和工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Ajax添加到购物车按钮以实现WooCommerce 3中的产品变化

自定义添加到购物车按钮以将多个产品添加到购物车中,数量为:woocommerce

在可变的单个产品页面中自定义添加到购物车按钮/链接

在WooCommerce订单中添加到购物车自定义字段数据

自定义产品上缺少“添加到购物车”按钮

将自定义产品计算价格添加到Woocommerce购物车

将基于ACF字段的自定义“添加到购物车”按钮添加到WooCommerce单个产品页面

在WooCommerce中为特定产品类别自定义“添加到购物车”按钮

将可变产品的自定义属性添加到WooCommerce中的购物车

在Woocommerce商店页面上自定义添加到购物车按钮

附加的自定义按钮,可在添加到Wovcommerce中的购物车之前更改产品价格

在“添加到购物车”下的自定义文本,但不在Woocommerce中

将产品添加到Woocommerce单个产品页面上的购物车后,激活自定义按钮

在Woocommerce 3中自定义添加到购物车消息

单个Woocommerce产品自定义变体添加到购物车按钮

WooCommerce添加到购物车,从自定义选择字段中添加第二个产品

将多个自定义数据数组添加到WooCommerce自定义Ajax上的购物车项目中添加到购物车

根据WooCommerce产品自定义库存状态禁用添加到购物车按钮

WooCommerce自定义PHP代码更改添加到购物车按钮文本

通过WooCommerce产品设置中的自定义复选框禁用添加到购物车按钮

如何在WooCommerce中重定向到自定义添加到购物车按钮上的结帐

根据产品类型,WooCommerce的“添加到购物车”按钮旁边的“自定义”按钮

WooCommerce自定义产品类型-多个添加到购物车部分的问题

根据用户国家和产品 ID 自定义添加到购物车按钮

Woocommerce 产品添加到购物车自定义数据 img

根据 Woocommerce 中的自定义字段替换特定产品的 ajax 添加到购物车

自定义特定 WooCommerce 产品类别上的“添加到购物车”按钮

在 WooCommerce 中添加到购物车后更改自定义 Ajax 添加到购物车按钮文本

使用woocommerce上的自定义按钮短代码替换添加到购物车按钮