- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用 WooCommerce Deposits插件并希望隐藏除“本地取货”运输方式之外的所有其他运输方式,如果客户选择支付定金。
客户可以在产品页面上选择是支付 10% 的定金还是支付订单的全额。运输方式 flat_rate 用于发送订单(如果他们是全额支付),应该隐藏,因为客户需要先在(线下)商店本地提货时支付剩余的订单金额。
产品页面选择:
<input type="radio" name="wc_deposit_option" value="yes" id="wc-option-pay-deposit">
<input type="radio" name="wc_deposit_option" value="no" id="wc-option-pay-full" checked="checked">
我尝试将可用的隐藏运输方式代码片段与
_wc_deposit_enabled
结合起来。元数据,但我无法弄清楚。帮助将不胜感激。
/**
* Are deposits enabled for a specific product
* @param int $product_id
* @return bool
*/
public static function deposits_enabled( $product_id, $check_variations = true ) {
$product = wc_get_product( $product_id );
if ( ! $product || $product->is_type( array( 'grouped', 'external' ) ) ) {
return false;
}
$setting = get_post_meta( $product_id, '_wc_deposit_enabled', true );
if ( $check_variations && empty( $setting ) ) {
$children = get_children( array(
'post_parent' => $product_id,
'post_type' => 'product_variation',
) );
foreach ( $children as $child ) {
$child_enabled = get_post_meta( $child->ID, '_wc_deposit_enabled', true );
if ( $child_enabled ) {
$setting = $child_enabled;
break;
}
}
}
if ( empty( $setting ) ) {
$setting = get_option( 'wc_deposits_default_enabled', 'no' );
}
if ( 'optional' === $setting || 'forced' === $setting ) {
if ( 'plan' === self::get_deposit_type( $product_id ) && ! self::has_plans( $product_id ) ) {
return false;
}
return true;
}
return false;
}
最佳答案
以下代码将仅保留存款的本地取件运输方式(对于 WooCommerce 存款):
add_filter( 'woocommerce_package_rates', 'only_local_pickup_for_deposits', 100, 2 );
function only_local_pickup_for_deposits( $rates, $package ) {
$has_deposit = false;
// Loop through cart items for the current shipping package
foreach( $package['contents'] as $item ) {
if ( isset($item['is_deposit']) && $item['is_deposit'] ) {
$has_deposit = true;
break; // Stop the loop
}
}
// If deposit is enabled for a cart item
if( $has_deposit ) {
// Loop through shipping rates
foreach ( $rates as $rate_key => $rate ) {
// Remove all shipping methods except "Local pickup"
if ( 'local_pickup' !== $rate->method_id ) {
unset($rates[$rate_key]);
}
}
}
return $rates;
}
代码位于事件子主题(或事件主题)的 functions.php 文件中。它应该有效。
关于php - WooCommerce 存款 : Keep only specific shipping methods for deposits,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66636944/
这是一个有点哲学问题。我正在为我的软件添加一个小功能,我认为大多数用户都会使用它,但他们使用该软件的次数可能只有 10%。换句话说,该软件没有它 3 个月就很好,但是有 4 或 5 个用户要求它,我同
我已经在我的网站上成功设置了 PayPal IPN,它运行良好。在我的 PayPal 帐户中,我设置了评估运费和税收计算的选项(仅限爱荷华州)。但唯一的问题是,在 PayPal 结帐页面上,它要求我手
我很乐意帮助解决我遇到的令人沮丧的问题。第一次设置 Spree,但我已经在 Rails 中开发了 3 年,所以我熟悉它的工作原理。 几乎是默认设置。但是当我尝试结帐时,单击“地址”页面上的“保存并继续
我想知道如何使用 eBay API 将“标准运输(FedEx Ground 或 FedEx Home Delivery®)”指定为运输服务。任何人都可以提供任何指示吗?所有示例仅使用“标准运输”选项。
我目前正在使用 Sharepoint 框架环境开发 Sharepoint WebPart。我目前正在使用功能区(添加按钮和下拉菜单),因此我必须在线部署 Web 部件,以便我可以测试功能区相关任务(工
我正在开发的其中一个网络应用程序有一个相当小的网络商店/购物车。由于客户公司实际位于加利福尼亚州并且在那里有实际位置,因此他们需要对运往加利福尼亚州的所有订单收取加利福尼亚州销售税。 对于那些不知道的
想象一下,您没有功能蔓延的问题,您有一个积极进取且稳定的团队,明确定义要解决的问题,并且您了解与项目相关的领域/语言/工具。 您如何坚持计划并完成 1.0 里程碑? 您对迭代运输的方法是什么? 我想特
有人知道Aramex Shipping服务及其API吗?我在他们的网站上找到了示例代码,并应用了我的API凭据,但出现错误。有人可以帮我整合吗? https://rsidemos.com/develo
我有一个客户想要电子商务网站,但他们必须提供定制运输服务。运输方式如下: 当在线客户下订单并显示发货页面时,此页面必须查询传递所有订单信息(以 JSON 形式)的自定义发货服务。运输服务将返回一个包含
如何获得包含 magento 中运费的数组/对象,例如统一费率、免费送货等? 与选择的地址或产品无关。 最佳答案 这是另一种方法。您需要设置邮政编码和国家/地区 - 即使这对您的运输方式并不重要。 /
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
在使用 Paypal API 创建付款时,是否有任何选项允许从结帐弹出窗口中删除“运送至”部分?我的意思是不要在弹出窗口中显示它。 我不使用shipping_address option创建付款配置时
前提是人 1 想通过大洋向人 2 发送 secret 消息 M(没有 key 共享)。她决定通过 3 艘船发送部分消息,如果任何两艘船的版本都被交付,人 2 就可以构建完整的原始消息。目标是使每个部分
我正在开发电子商务类型的 Web 应用程序,需要以某种方式处理运费计算。我发现的一些规则: 免费送货 满满免运费 特定地理区域内免费送货 统一运费 固定费率 + 每个产品的固定金额 不同的费率取决于运
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 3年前关闭。 Improve this questi
我尝试实现 fedex api 来计算从 wnn 到一个国家/地区的邮政编码的运输成本。它在美国工作得很好。它还可以从美国到其他国家/地区工作(已尝试在 IN 和 AU)。但是当我尝试使用来自印度或澳
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 2年前关闭。 Improve this qu
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 7 年前。 Improve this ques
我有一个超小型(没有数据,只有一些单列表,我只是在测试)本地 SQL Server 数据库,我正在尝试将其在线迁移到 SQL 托管实例。 据我所知,我已按应有的方式配置了所有内容 - 备份文件存在于文
当通过 Suitescript 在 NetSuite 中创建销售订单时,我们可以通过向其发送包含完整地址的字符串来成功设置“发货至”(字段 ID:shipaddress)。 这会导致问题,因为“SHI
我是一名优秀的程序员,十分优秀!