问题标签 [shipping-method]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
799 浏览

php - 运输方式仅在 Woocommerce 的结帐页面中启用

在 Woocommerce 上,我们需要从购物车部分中删除运输方式,并将其仅添加到结帐页面。

任何曲目或帮助都应该受到赞赏?

0 投票
1 回答
7796 浏览

php - 在 Woocommerce 3 中以编程方式向订单添加运费

我一直在尝试多种解决方案,通过 Woocommerce 以编程方式设置运费(每个订单)。我没有运气

我尝试覆盖该项目的元值:

还尝试了类似于此 [问题/答案] [1] 的内容

但似乎两者都不起作用。任何指针最受欢迎。


类似主题:在 Woocommerce 3 中以编程方式向订单添加费用

0 投票
2 回答
2557 浏览

php - 在 Woocommerce 中禁用特定付款方式的送货方式

在 Woocommerce 上,我启用了 2 种送货方式:免费送货或统一费率。我启用了 2 种付款方式:银行转账(bacs)和 PayPal (paypal)

我想要实现的目标:如果客户选择 PayPal 作为支付类型,他应该被迫选择“统一费率”作为运输方式。“免费送货”应该隐藏或显示为灰色或类似的东西。

如果选择银行转帐,那么两种运输方式都应该可用。

任何帮助表示赞赏。

0 投票
1 回答
365 浏览

php - 禁用自动购物车/checkout_update 添加手动选项以在下订单前进行更新

当前问题:我的结帐计算器过于频繁地刷新运费,目前它会在我更改付款方式时更新/刷新运费,或者我选择不同的运输方式以及当我更改地址字段或修改购物车中的数量时它甚至会在浏览器中打开购物车时进行。(我了解某些商家可能需要更新这些信息,因为与某些支付网关或运输方式相关的费用,但对我来说,当我所做的只是点击本地取货或其他不应该的东西时,为什么我需要再次拉动实时运费?对运输承运人费率没有任何影响)

我要完成的工作:我希望结帐/购物车计算器一起停止自动更新/刷新运费,直到结帐结束,在我将所有归因因素输入必要的适当字段后,它应该放置 1电话,至少是国际海事组织。

我已经阅读了数百篇文章,但我发现的只是确保结帐计算器在某些 Ajax 调用上刷新的方法,我需要在任何情况下禁用它。我在这里还是新手,所以如果我违反了某些协议,我深表歉意,请原谅,任何帮助将不胜感激。

更新:在考虑了更多之后,我觉得一个完美的解决方案(如果可能的话)是在结帐计算运输区域放置一个按钮,或者在允许我或客户手动拉运费的下订单按钮下方API 并在必要时更新总数并取消整个自动过程(这也将使我受益,因为 woocommerce 将在每次击键后停止尝试进行新调用),但这也需要一个函数或类似的东西除非在下订单按钮之前立即按下此手动按钮,否则不会下订单(并且他们需要在更改任何地址字段或更改运输方式或任何其他会影响订单的因素时再次按下它总计,排除姓名、电话号码、公司名称等内容,或您能想到的任何其他字段都不会影响订单总额)。

8 小时后 - 我仍然对这没有真正的结果感到头疼。我唯一完成的就是用这个隐藏购物车中的运输计算

但它实际上并没有停止 API 调用,只是隐藏了它。虽然我认为不必为该字段生成 UI 可能会节省一些时间,但它的数量可以忽略不计。如果只有购物车会像在桌面下拉或移动侧边栏中那样显示订单总额/税金明细,这将大大加快我的购物车体验。无论哪种方式,我都希望它不在购物车中。
令人沮丧的是,如果整个自动更新在最后等待按钮按下,我会节省很多时间。以及我的客户。我的意思是这没有意义。让我通过几轮测试来描述我的工作流程。八个支付网关自定义配置了授予可见性的规则,所有这些都需要通过每个变量进行测试&这里显然必须如何测试前端(至少在我的情况下,我对此很陌生&我什至从未考虑过建立一个网站,直到我在 3-4 个月前被联系到它)。我将通过直接进入我的许多订单中的一个进入购物车的部分来缩短整个体验。

购物车在浏览器中打开...发货 API 调用 10-15 秒进行回调,如果需要更新一些订单数量...发货 API 调用 10-15 秒,(如上所述,这里没有可见的运费计算。所以感谢上帝我不能被其他人绊倒...运输 API 调用 10-15 秒,而仍在购物车中),继续结帐,帐户凭据自动填充字段...运输 API 调用 10-15 秒,我可能需要测试运输跨越更远的距离或商业/住宅费率,因此更改地址字段....运输 API 调用 10-15 秒,选择运输方法...运输 API 调用 10-15 秒,选择付款方式和...是的运输 API 调用10-15 秒..... 最后我可以通过前端下订单。:( 听起来让你筋疲力尽?不会 绕过所有这些 Shipping API 调用并在结帐的最后完成 1 是否有意义?嗯,这就像结帐体验中可能损失的 2 分钟时间。该呼叫应在 1、10-15 秒手动按钮按下更新后得到解决。

IDK 现在大约有 10 个小时......当我从除邮政编码之外的所有结帐字段中删除 update_totals_on_change 时,我取得了更多进展。我启用 ZIP 是因为我担心这种方法可能会让您完成其余的订单流程。然后回到运输字段更改地址而不触发 update_total 并进行订单处理。在这一点上,我不确定这是否有必要,但我认为如果有任何因素真正影响订单总额,那就是邮政编码,如果所有其他地址字段都没有,我的运输 API 将不会让订单处理与邮政编码相关联。所以我虽然比较安全。因此,这将为这些字段节省大量时间(尽管这些字段不会像运输和付款无线电那样在 API 调用时锁定,但至少它可以节省你在最后一次击键后等待 1 的时间。除非最后一次击键是在 ZIP 字段中,否则我可能需要将该字段重新定位到表单的更远位置,以使其能够在此过程中更早地开始。哎呀,切线很长,但大声思考...)嗯,如果只有自动化流程允许您在通话期间切换这些收音机,您就可以一次完成订单并让流程一直在做它的事情,最终在最后,在开销方面似乎有点低效,但听起来像是我想到的最合理的想法......是的,解锁所有字段/无线电,无论如何......当 API 正在处理......我的m get at 是一种在更新/刷新期间无法交互的灰色区域的方法......有什么想法吗?除非最后一次击键是在 ZIP 字段中,否则我可能需要将该字段重新定位到表单的更远位置,以使其能够在此过程中更早地开始。哎呀,切线很长,但大声思考...)嗯,如果只有自动化流程允许您在通话期间切换这些收音机,您就可以一次完成订单并让流程一直在做它的事情,最终在最后,在开销方面似乎有点低效,但听起来像是我想到的最合理的想法......是的,解锁所有字段/无线电,无论如何......当 API 正在处理......我的m get at 是一种在更新/刷新期间无法交互的灰色区域的方法......有什么想法吗?除非最后一次击键是在 ZIP 字段中,否则我可能需要将该字段重新定位到表单的更远位置,以使其能够在此过程中更早地开始。哎呀,切线很长,但大声思考...)嗯,如果只有自动化流程允许您在通话期间切换这些收音机,您就可以一次完成订单并让流程一直在做它的事情,最终在最后,在开销方面似乎有点低效,但听起来像是我想到的最合理的想法......是的,解锁所有字段/无线电,无论如何......当 API 正在处理......我的m get at 是一种在更新/刷新期间无法交互的灰色区域的方法......有什么想法吗?嗯,我可能需要将字段重新定位到表单的更远位置,以使其在流程中更早开始。哎呀,切线很长,但大声思考...)嗯,如果只有自动化流程允许您在通话期间切换这些收音机,您就可以一次完成订单并让流程一直在做它的事情,最终在最后,在开销方面似乎有点低效,但听起来像是我想到的最合理的想法......是的,解锁所有字段/无线电,无论如何......当 API 正在处理......我的m get at 是一种在更新/刷新期间无法交互的灰色区域的方法......有什么想法吗?嗯,我可能需要将字段重新定位到表单的更远位置,以使其在流程中更早开始。哎呀,切线很长,但大声思考...)嗯,如果只有自动化流程允许您在通话期间切换这些收音机,您就可以一次完成订单并让流程一直在做它的事情,最终在最后,在开销方面似乎有点低效,但听起来像是我想到的最合理的想法......是的,解锁所有字段/无线电,无论如何......当 API 正在处理......我的m get at 是一种在更新/刷新期间无法交互的灰色区域的方法......有什么想法吗?

第二天 - 在我的工作中昏倒后,我没有时间测试从运输字段中删除 update_totals_on_change 做了什么。不幸的是,今天早上我发现这没有任何效果。所有地址字段仍然会在更改时自动更新,令人失望。我正在考虑添加更好的可用性插件以允许在结帐时更改数量。这至少可以消除进入购物车页面的任何需要。这样可以减少一两步。

另一个更新:所以我在 wp-content/plugins/woocommerce/templates/checkout/payment.php 中找到了这段代码

因此,如果您的浏览器不支持 java 脚本,似乎会有一些东西会传播所述按钮。但是,我不想为我的整个网站禁用 javascript,但也许我只能在结帐时禁用它,除了在结帐时生成上述按钮之外,它不会有太大影响。对此,再次提出任何建议将不胜感激。

新信息-所以在一次又一次地翻过来之后。我发现,通过禁用 jquery-blockui 脚本,它将允许我更改结帐中的任何字段,而不会在通话期间锁定。但是,当禁用时,不会在字段更改时发出呼叫,因此我需要找到一种手动启动呼叫的方法,然后以某种方式将其锁定,因此客户必须在下订单之前立即更新。

0 投票
1 回答
809 浏览

php - 基于数量的渐进式运输成本,在 Woocommerce 中具有最高成本

(如何)我可以在 WooCommerce 中为固定运费设置 max_fee 吗?

将此添加到运输方式的固定费用设置中的成本字段有效:

(即每个订单的运费 2,5 + 每个产品 1 欧元)-> 至少 3,5 并且每件产品增加 + 1)。

但是,我想至少收取 3,50(1 件)和 4,50 最高(2 件或更多件)。即功能上这个公式:(3,5 * [qty]) [fee **max_fee** = "4,5"]

这可能吗?/ 使用的正确语法是什么?我在任何地方都找不到这个。我只找到了这个参考(“为统一费率添加 max_fee 短代码属性”/“在统一费率成本字段中除了 min_fee 之外还允许 max_fee”),这似乎表明一个功能请求为固定费用(百分比除外)提供 max_fee被实施。但我无法让它工作。

0 投票
1 回答
193 浏览

php - 在 Woocommerce 中保持最高的统一运费和本地取货

我试图显示购物车中最高的运费。我为此找到了一个不错的小片段:

但是,此代码段也隐藏了“本地取货”运输方式。

为什么上面的方法不起作用?现在它只显示最高的运输等级/价格,并隐藏所有其他的,包括提货方式。

是因为两个数组吗?我没有看到任何错误弹出。

非常感谢任何帮助!

0 投票
1 回答
135 浏览

php - 将新的运输方式作为 Woocommerce 插件的一部分

我正在尝试为 woocommerce 创建一个插件,我需要创建一个新的运输方式作为其中的一部分。我找到了这个网站并按照它的说明进行操作。我刚刚更改了一些名称。

这是我的代码:

现在在 WooCommerce > Settings > Shipping 我看到我的方法名称,但是当我点击它时,我看到一个带有“保存更改”按钮的空表单。我已经检查了几次代码,但我没有发现有什么问题。

第二个问题:正如你所看到的,这段代码是一个完整的插件。我想把它作为另一个插件的一部分。正确的方法是什么?


更新:

我找到了第一个问题的答案:类 id 不能包含大写字母。

0 投票
1 回答
1292 浏览

php - 当 Woocommerce 中提供免费送货时,仅禁用统一费率送货方式

当 WooCommerce 3 中提供免费送货时,我正在使用隐藏详细信息统一费率,稍微更改了答案代码以隐藏除一种以外的所有送货方式。我要显示的唯一方法是“Woocommerce Advanced Shipping”插件的费率。

我正在使用正确的费率 ID 等...

一切正常,除非客户尝试单击该运输方式,但它不会保持选中状态。它只是跳回免费送货。

我已经尝试过调试,还尝试了带有原生 woocommerce 统一费率 ID 的代码,它显示/能够很好地选择它。

我要保持显示的 ID:“2588”(来自插件的自定义运费)

当可以免费送货时,如何禁用统一运费方式并保持自定义运费(来自插件)?

0 投票
1 回答
1974 浏览

php - Magento2 - 发货后添加自定义字段块

想在 magento 2 结帐页面的运输方式后添加自定义字段。我已经使用 checkout_index_index.xml 创建了自定义模块,并且能够在发货地址之后添加自定义字段块,<item name="before-form" xsi:type="array">但我希望在发货方式之后使用它。

当客户选择运输方式时,此块显示和隐藏以提供有关所选运输方式的更多信息

查找下面的图片以获取更多信息。

在此处输入图像描述

谢谢!

0 投票
0 回答
172 浏览

wordpress - 每种产品的运输方式不同 - Woocommerce

如图所示,在计算运费时,我想在购物车页面上显示多个运费行:

在此处输入图像描述

我检查并发现我需要自定义/覆盖wc_cart_totals_shipping_html().woocommerce/includes/wc-cart-functions.php

我为此目的创建了自定义插件,但我没有找到任何过滤器/动作挂钩来自定义此功能。

谁能建议我一种自定义wc_cart_totals_shipping_html()功能的方法?

提前致谢。