利用ajax添加到购物车代码,Woocommerce添加到购物车链接Ajax在其他帖子或页面中启用...

2023-11-13

要在自定义添加到购物车按钮中启用ajax,至少有3种方法:

A simple HTML Ajax add to cart link:

Add to cart

Using Woocommerce existing [add_to_cart id='123'] shortcode (与上述用法相同)

xWTDv.png

wABBY.png

The most customizable: A custom shortcode without price included (可自定义的按钮文本,附加类,数量和许多其他可能性)

if( ! function_exists('custom_ajax_add_to_cart_button') && class_exists('WooCommerce') ) {

function custom_ajax_add_to_cart_button( $atts ) {

// Shortcode attributes

$atts = shortcode_atts( array(

'id' => '0', // Product ID

'qty' => '1', // Product quantity

'text' => '', // Text of the button

'class' => '', // Additional classes

), $atts, 'ajax_add_to_cart' );

if( esc_attr( $atts['id'] ) == 0 ) return; // Exit when no Product ID

if( get_post_type( esc_attr( $atts['id'] ) ) != 'product' ) return; // Exit if not a Product

$product = wc_get_product( esc_attr( $atts['id'] ) );

if ( ! $product ) return; // Exit when if not a valid Product

$classes = 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' : '',

) ) ).' '.$atts['class'];

$add_to_cart_button = sprintf( '%s',

esc_url( $product->add_to_cart_url() ),

'data-quantity="' . esc_attr( $atts['qty'] ) .'"',

'data-product_id="' . esc_attr( $atts['id'] ) .'"',

'data-product_sku="' . esc_attr( $product->get_sku() ) .'"',

esc_attr( isset( $classes ) ? $classes : 'button' ),

esc_html( empty( esc_attr( $atts['text'] ) ) ? $product->add_to_cart_text() : esc_attr( $atts['text'] ) )

);

return $add_to_cart_button;

}

add_shortcode('ajax_add_to_cart', 'custom_ajax_add_to_cart_button');

}

此代码位于活动子主题(或主题)的function.php文件中 . 经过测试和工作 .

USAGE:

在帖子和页面文本编辑器中:

[ajax_add_to_cart id='123' text='Buy']

在PHP文件或模板中:

echo do_shortcode( "[ajax_add_to_cart id='123' text='Buy']" );

在php页面上插入HTML代码:

LdhVs.png

skAyu.png

隐藏Ajax“查看购物车”对于自定义短代码,要隐藏Ajax“查看购物车”行为,可以在返回$ add_to_cart_button之前添加代码;以下内容:$ style ='

$ add_to_cart_button = $ style . $ add_to_cart_button;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

利用ajax添加到购物车代码,Woocommerce添加到购物车链接Ajax在其他帖子或页面中启用... 的相关文章

随机推荐

  • 智慧城市领域大单,巨头占尽优势

    智慧城市领域 哪个公司做的比较好 一 前言 二 智慧城市中标大单 清单 三 中标厂商分析 1 华为 2 科大讯飞 3 腾讯 4 阿里 5 中国电科 6 中国电子 7 百度 8 数字广东 四 获取 智慧城市等全套最新解决方案合集 一 前言 在
  • python eclipse+pydev(An error has occurred when creating this preference page)

    Eclipse 安装pydev Help gt Install New Software gt add gt Location http pydev org updates 点击pydev左边的小三角勾选pydev for eclipse
  • Shell init Ubuntu

    echo HISTFILESIZE 99999 gt gt bashrc echo HISTSIZE 99999 gt gt bashrc echo HISTTIMEFORMAT F T gt gt bashrc echo PROMPT C
  • Thrift原理简析(JAVA)

    Apache Thrift是一个跨语言的服务框架 本质上为RPC 同时具有序列化 反序列化机制 当我们开发的service需要开放出去的时候 就会遇到跨语言调用的问题 JAVA语言开发了一个UserService用来提供获取用户信息的服务
  • CUDA编程 基础与实践 学习笔记(十)

    线程束 warp 一个GPU由多个SM组成 一个SM上可以放多个线程块 不同线程块之间并行或顺序执行 一个线程块分为多个线程束 一个线程束由32个线程 有连续的线程号 组成 从更细粒度来看 一个SM以一个线程束为单位产生 管理 调度 执行线
  • Java面向对象 - 封装、继承和多态

    第1关 什么是封装 如何使用封装 相关知识 为了完成本关任务 你需要掌握 1 什么是封装 2 封装的意义 3 实现Java封装的步骤 package case1 public class TestPersonDemo public stat
  • GoLang之”奇怪用法“实践总结

    2013 11 23 wcdj 0 摘要 本文通过对A Tour of Go的实践 总结Go语言的基础用法 1 Go语言 奇怪用法 有哪些 1 go的变量声明顺序是 先写变量名 再写类型名 此与C C 的语法孰优孰劣 可见下文解释 http
  • 销售心理学

    销售中的心理学 影响你一生的销售心理学书籍 要想钓到鱼 就要像鱼一样思考 在生活中 如果想钓到鱼 你就得像鱼那样思考 而不是像渔夫那样思考 当你对鱼了解得越多 你也就越来越会钓鱼了 这样的想法用在销售中同样适用 要知道 销售的过程其实就是销
  • 【Redis17】Redis进阶:管道

    Redis进阶 管道 管道是啥 我们做开发的同学们经常会在 Linux 环境中用到管道命令 比如 ps ef grep php 在之前学习 Laravel框架时的 Laravel6 4 管道过滤器https mp weixin qq com
  • Latex使用

    问题 在使用latex的过程中插入图片 在某些条件下 图片可能会出现越过后续的文字出现在下一页的页首 解决办法 在该tex文件首部加上 usepackage stfloats 然后参数设置成H如下 begin figure H center
  • 使用frp 实现内网穿透 & 将私人电脑变成一个服务器

    使用frp 实现内网穿透 frp 是什么 frp 是一个可用于内网穿透的高性能的反向代理应用 支持 tcp udp 协议 为 http 和 https 应用协议提供了额外的能力 且尝试性支持了点对点穿透 作用 比如你需要用到云服务器部署你的
  • 阅读GFS论文

    GFS论文发表距今已经十几年了 据之开源的hdfs也已经在业界得到了广泛应用 为了取得分布式系统的真经 拜读一下这篇经典论文 重要假设 软硬件失败乃家常便饭 我们写大文件 不屑小文件 文件改动的主流是追加新数据 随机写是非主流 一旦写完 仅
  • Neon Instruction C支持的向量运算

    转载请标明出处 https blog csdn net u013752202 article details 92008843 文章目的 快速索引到需要的向量运算 vadd gt ri ai bi 1 Vector add 正常指令 r a
  • pagehelper使用方法及参数说明

    pagehelper使用方法及参数说明 使用方法 Override public PageInfo
  • spring源码--10--IOC高级特性--autowiring实现原理

    spring源码 10 IOC高级特性 autowiring实现原理 1 Spring IoC容器提供了2种方式 管理Bean的依赖关系 1 1 显式管理 通过BeanDefinition的属性值和构造方法实现Bean依赖关系管理 1 2
  • vue学习笔记:在vscode中使用@提示路径

    在vscode中输入 后如果可以智能提示路径 可以有效防止路径名称输入错误 减少不必要的麻烦 效果如下图所示 安装 Path Autocomplete 插件后可以实现路径的智能提示 步骤如下 1 在vscode中查找Path Autocom
  • 关于shell运行python文件中的错误——shell脚本换行

    问题 https ask csdn net questions 7900411 spm 1001 2014 3001 5505 问题由来 由于工程需要在本地window中写 当需要比较少的算力时在本地跑 当需要比较大的算力时就需要在auto
  • K8S调用GPU资源配置指南

    06 09 K8S调用GPU资源配置指南 时间 版本号 修改描述 修改人 2022年6月9日15 33 12 V0 1 新建K8S调用GPU资源配置指南 编写了Nvidia驱动安装过程 2022年6月10日11 16 52 V0 2 添加K
  • 基于pytorch的手势识别

    本次实验主要是使用pytorch完成手势识别 网络包含两个隐藏层 第一层隐藏层有576个节点 第二层隐藏层有144个节点 输入784个节点 图片大小为28 28 输出10个节点 10种手势 目录 1 数据集处理 2 神经网络的建立 3 神经
  • 利用ajax添加到购物车代码,Woocommerce添加到购物车链接Ajax在其他帖子或页面中启用...

    要在自定义添加到购物车按钮中启用ajax 至少有3种方法 A simple HTML Ajax add to cart link Add to cart Using Woocommerce existing add to cart id 1