登录时WooCommerce REST API认证失败
WooCommerce REST API身份验证当我登录同一浏览器中的WordPress时正在失败. 注销 - 一切都起作用 登录 - 获取此错误: {"code":"woocommerce_rest_cannot_view","message":"Sorry, you cannot view this resource.","data":{"status":401}} ajax也是如此: jQuery.ajax({ url:'https://example.com/wp-json/wc/v1/products/30552?consumer_key=ck_xxx&consumer_secret=cs_xxx', success:function(d){window.d = d;} }); 并且在尝试直接在浏览器中访问相同的URL时. 是什么可能导致这种情况? 我想不出任何有用的原因. 解决方案 这已为WooCommer
0 2023-12-11
编程技术问答社区
WooCommerce购物车和结账中的运输方式的额外载体字段
灵感来自 运送载体自定义字段验证在Wo​​oCommerce结帐页面中 答案代码,我使用以下代码显示使用Seption Companies 显示SELECT字段(仅在我选择特定运输方法时显示此字段): add_action( 'woocommerce_after_shipping_rate', 'carrier_custom_fields', 20, 2 ); function carrier_custom_fields( $method, $index ) { if( ! is_checkout()) return; // Only on the checkout page $customer_carrier_method = 'flat_rate:14'; if( $method->id != $customer_carrier_method ) return; // Mostrar solo para "flat_rate:14" $ch
0 2023-12-11
编程技术问答社区
电子商务的多个结账页
rso,我一直在撞到我的计算机上,试图弄清楚如何使它起作用,并想知道这是否可能(嗯,有所作为,一切皆有可能). 我的最终目标是拥有一个以上的页面,该页面上有WooCommerce结帐表格,以便我可以拥有一个自定义一页订阅结帐的页面. 当我将结帐表格设置为通过设置面板为此页面时,此功能正常,但是如果未设置到此页面,则不会加载表单,并且无法执行Ajax请求以更新运输等,从而限制每个工作结帐表格. 采取的步骤: 到目前为止,我已经尝试使用以下内容来带来表格: 通过页面的wysiwyg(在我的情况下不是解决方案) 并通过提供的功能手动构建表单
0 2023-12-11
编程技术问答社区
通过Ajax回调在产品页面显示woocommerce通知
我正在尝试在产品页面中显示WooCommerce通知.该通知应通过AJAX回调函数显示,该函数由按钮触发. 回调工作正常,但没有显示通知. 这是我的代码: jQuery/ajax $(document).ready(function() { $('#return-button').on('click', function (event) { event.preventDefault(); var id = $(this).val(); $.ajax({ url: ajaxurl, type: 'POST', data: { action: 'my_custom_function', product_id: id },
0 2023-12-11
编程技术问答社区
通过ajax更新woocommerce的发货方式
我正在使用WordPress和WooCommerce建立一个食品订购网站.到目前为止,我一直做得很好,但被困在应自动选择运输方法的某个时候. 流程是什么样的?用户访问我的网站并输入邮政编码,然后我的网站显示了在该邮政编码中交付的餐厅.一些餐厅在更少的时间和更少的运费中交付了邮政编码,但有些餐馆需要更多的时间并收取更多的运费. 到目前为止,我所做的是,我从任何餐厅提供的数据库中获取了运输代码.如果用户的邮政编码在列表中不存在,我们会提醒否则,我们将继续前进. 下一步是在更少的交货时间内获取所有在邮政编码中交付的餐厅,然后在更多的交货时间内以邮政编码交付的餐厅.基于较少或更多的交付时间,我分别在A区或B区域中标记用户. 我有针对A和B区域创建的统一费率运输方法,可以从购物车/结帐页面中的下拉菜单中选择.现在是麻烦. 用户不应选择运输率是多少.应根据用户被标记到的区域自动选择和应用. 这种自动更新不是我能够实现的. 我尝试了什么? 正确的过程应该
0 2023-12-11
编程技术问答社区
在WooCommerce Checkout中为特定类别启用百分比折扣的复选框
以下修订的代码基于添加一个结帐复选框字段,该字段可以在WooCommerce中获得百分比费用.我已经适应了,但希望仅针对特定类别,因此当学生在结帐时勾选盒子,定义他们是学生时,它将扣除15%的折扣,但仅针对特定类别范围 - 即"在线研讨会".这超出了我,所以会很感激. // Add a custom checkbox fields after billing fields add_action( 'woocommerce_after_checkout_billing_form', 'add_custom_checkout_checkbox', 20 ); function add_custom_checkout_checkbox(){ // Add a custom checkbox field woocommerce_form_field( 'student_discount_fee', array( 'type' => 'checkbox',
0 2023-12-11
编程技术问答社区
在Woocommerce中,当国家发生变化时,Ajax更新结账的运输方式。
当客户在结帐页面上更改国家/地区时,我正在寻找一种更新订单审核(运费)的方法. 我想使用jQuery.但是 wc_checkout_params wc_checkout_params已弃用. function custom_checkbox_checker() { if (is_checkout()) { wp_enqueue_script('jquery'); ?> jQuery(document).ready(function (e) { var $ = jQuery; // wc_checkout_params is required to continue, ensure the object exists if (typeof wc_ch
0 2023-12-11
编程技术问答社区
自定义复选框,在WooCommerce购物车页面中增加一个费用
基于 显示一个复选框,该复选框在WooCommerce结帐页面中添加费用 答案代码我试图将用法更改为购物车页面,而不是每个客户端请求结帐页面. 到目前为止,我设法在购物车页面上显示自定义费用复选框并触发Ajax. 但是,未更新购物车的总数. 如果有人可以帮助代码或指向正确的方向? // Display the custom checkbox field in cart add_action( 'woocommerce_cart_totals_before_order_total', 'fee_installment_checkbox_field', 20 ); function fee_installment_checkbox_field(){ echo 'Priority Dispatch'; woocommerce_form_field( 'priority_fee'
0 2023-12-11
编程技术问答社区
禁用WooCommerce结账时的AJAX技术
我想询问如何在结帐页面上禁用Ajax(您输入运输和计费信息),而不是使用Ajax根据您的位置更新购物车摘要,而是通过自然进行更新刷新. 当前,每当用户通过运输位置切换其位置时,购物车摘要将自动更新,而无需重新加载页面.我想删除Ajax,然后将页面重新加载带有更新的信息. 我不太确定我应该指出的是什么样式或方向,但我准备提供任何必要的细节.只是让我知道!谢谢! 解决方案 所有WooCommerce字符串均使用wp_localize_script进行了适当的本地化,因此我认为您可以通过创建适当的.po/.mo文件来正确地翻译它们,但是我承认没有很多翻译经验.供参考:所有可用的语言包都是 github 还想阅读文档. 无论如何,结帐脚本都在checkout.js中.像任何脚本一样,您可以通过 wp_dequeue_script() P> function so_27023433_disable_checkout_script(){ wp_dequeue_sc
0 2023-12-11
编程技术问答社区
通过AJAX添加可变产品后更新WooCommerce购物车
我已经组装了该链接,像这样在我的购物车中添加了可变产品,但是我对如何在不重新加载页面的情况下"刷新"购物车而感到不知所措.我的猜测是,我没有正确地将此ajax添加到购物车请求中,因此,woocommerce_add_to_cart_fragments(我相信我的购物车html将用于刷新). > $addToCartLink = '?add-to-cart=' . $prod->id . '&variation_id=' . $var_id . '&attribute_pa_quantity-attribute=' . $var_quantity; jQuery.get($addToCartLink, function() { //refreshCart(); }); 如果有人可以将我指向正确的方向,我将非常感谢.可变/ajax/woocommerce文档似乎很稀疏. 解决方案 @helgatheviking-谢谢,我发现发布后几个小时.这还提供了巨型辅助-va
0 2023-12-11
编程技术问答社区
用WooCommerce ajax更新购物车
在我的WooCommerce网站上,我更改了购物车页面,删除了按钮"更新购物车",并创建了2个按钮以添加和删除此图片中显示的产品项目: 当我按下按钮更新购物车时,当我单击数量按钮时,我想调用相同的功能. 为此,我正在使用ajax,但没有做任何事情. 首先在我的function.php文件中,我有一个: function update_my_cart() { // here update then cart var_dump("execute"); } add_action( 'wp_ajax_update_my_cart', 'update_my_cart' ); // If called from admin panel add_action( 'wp_ajax_nopriv_update_my_cart', 'update_my_cart' ); add_action( 'wp_enqueue_scrip
0 2023-12-11
编程技术问答社区
WooCommerce-change QTY triggers AJAX call in cart
我想更新,然后在更改购物车中的物品数量时通过Ajax重新加载我的购物车. 我已经可以通过Ajax成功地在我的购物车中加载. 要加载我的购物车,我的PHP功能看起来像这样. (在我的functions.php中) function enqueue_cart_show_ajax() { wp_register_script( 'cart-show-ajax-js', get_template_directory_uri() . '/js/cart-show-ajax.js', array( 'jquery' ), '', true ); wp_localize_script( 'cart-show-ajax-js', 'cart_show_ajax', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); wp_enqueue_script( 'cart-show-ajax-js' );
0 2023-12-11
编程技术问答社区
在woocommerce中使用ajax删除购物车中的产品
我想使用Ajax在WooCommerce购物车中删除产品,而无需单击链接. 如果您遇到了这种功能,请帮助我们. add_action( 'wp_footer', 'add_js_to_wp_wcommerce'); function add_js_to_wp_wcommerce(){ ?> jQuery('.remove-product').click(function(){ var product_id = jQuery(this).attr("data-product_id"); jQuery.ajax({ type: 'POST', dataType: 'json', url: "/wp-admin/admin-ajax.php", data: { action:
0 2023-12-11
编程技术问答社区
提高自定义开发的卷轴的性能
我正在尝试提高无限滚动代码的速度.这是我的ajax recret处理脚本 function ga_infinite_scroll() {//trigger this on infinite scroll add_filter( 'woocommerce_get_price_html', 'ga_show_price' );//filter to fix price range if(empty($_POST['search_term'] )){ $params = json_decode( stripslashes( $_POST['query'] ), true ); $params['post_status'] = 'publish'; $params['posts_per_page'] = get_option('posts_per_page'); $params['post_type'] = 'product'; $param
0 2023-12-11
编程技术问答社区
Woocommerce Add to cart link Ajax enabled in other post or pages
在WooCommerce中,我想在WordPress网站(不是产品页面)的简单页面上创建添加到购物车链接. 所以我尝试了此代码(其中123是产品ID): Buy 我启用了Ajax添加到档案页面上的购物车WooCommerce选项设置. ,但它不起作用,并且在我的自定义添加链接上未启用AJAX功能. 如何在自定义链接上启用ajax添加到卡特(在其他页面以外的其他页面中)? 解决方案 要在自定义添加到购物车按钮中启用Ajax,至少有3种方法: 一个简单的html ajax添加到购物车链接:
0 2023-12-11
编程技术问答社区
在ajax添加到购物车时,对特定的Woocommerce购物车项目数显示一个甜蜜的警报
问题: 当调用Ajax时,我正在尝试显示JavaScript警报.但是,当我刷新页面时,警报只会成功发射. 这是函数的开始,如果购物车项目> 2: ,它会触发JavaScript 因此,如果WooCommerce购物车中有2个以上的项目,请运行JavaScript警报... add_action( 'wp_footer', 'trigger_popup' ); function trigger_popup() { global $woocommerce; $maximum_num_products = 2; $cart_num_products = WC()->cart->get_cart_contents_count(); if( $cart_num_products > $maximum_num_products ) { 然后,我试图在称为AJAX时显示JavaScript警报: 我研究了 ?>
0 2023-12-11
编程技术问答社区
在Woocommerce中对特定产品类别计数的ajax添加到购物车的JS提示
在WooCommerce中,当达到特定类别的购物车中的特定产品计数时,我正在尝试显示JavaScript" Sweet Alert".物品通过Ajax添加到购物车中,这就是为什么我想使用JavaScript警报(Sweet Alert). 例如.如果购物车中包含 5个产品 cantory "袋子" - 显示警报. 我已经研究并找到了以下有用的答案,并用它们来构建我的代码.但是,我正在努力将规则应用于特定类别的计数. 在Ajax上显示一个甜蜜的警报数数 计数特定产品类别的购物车项目 目前,下面的代码成功触发,但仅基于购物车中的产品数量.它忽略了产品类别规则: 通过购物车项目循环并设置产品类别计数器: // Wordpress Ajax: Get different cart items count add_action( 'wp_ajax_nopriv_checking_items', 'checking_items' ); add_action( '
0 2023-12-11
编程技术问答社区
Ajax在WooCommerce单产品中添加到购物车中,以获取简单和可变产品
下面的代码可用于与WooCommerce一起添加到CART中,以供简单产品,但不适合可变产品.有人可以帮我吗?因为此代码可与最新的WC一起使用,所以请不要删除此问题,因为在线上有很多无效的代码. 我遇到的错误在通知中说我应该选择一个产品选项,即使我选择了一个. JS: jQuery(function($) { $('form.cart').on('submit', function(e) { e.preventDefault(); var form = $(this); form.block({ message: null, overlayCSS: { background: '#fff', opacity: 0.6 } }); var formData = new FormData(form.context); formData.
0 2023-12-11
编程技术问答社区
在Woocommerce中用AJAX刷新/更新minicart
我正在尝试将此代码添加到我的WooCommerce设置中,该设置在我放置PHP的任何位置都会添加购物车链接,然后使用Ajax在购物车中更改项目时将其更新: https://docs.woocommerce.com/document/document/show-cart-cart-contents-total/ 这是摘要: html -php: cart->get_cart_contents_count() ), WC()->cart->get_cart_contents_count() ); ?> -
0 2023-12-11
编程技术问答社区