【发布时间】:2021-06-17 12:11:27
【问题描述】:
我正在使用 WooCommerce Dokan(版本 3.2.6)多供应商插件。在我的网站中,货到付款和卡支付两种方法都对用户启用。但是,当任何供应商购买包裹时,它也会显示货到付款,因此我必须手动跟踪每个供应商是否已付款。
我想为供应商禁用 COD 并仅为用户启用。
【问题讨论】:
标签: php wordpress woocommerce hook-woocommerce dokan
我正在使用 WooCommerce Dokan(版本 3.2.6)多供应商插件。在我的网站中,货到付款和卡支付两种方法都对用户启用。但是,当任何供应商购买包裹时,它也会显示货到付款,因此我必须手动跟踪每个供应商是否已付款。
我想为供应商禁用 COD 并仅为用户启用。
【问题讨论】:
标签: php wordpress woocommerce hook-woocommerce dokan
刚刚遇到您的问题,并决定添加答案以供将来参考!
因此,要仅为卖家/供应商而非普通用户禁用 cash on delivery 选项,您可以使用:
woocommerce_available_payment_gateways过滤钩。和
dokan_is_user_seller 和 dokan_get_current_user_id 功能检查买家是卖家还是普通用户!在您的functions.php 文件中使用以下代码:
add_filter(
'woocommerce_available_payment_gateways', 'disabling_cod_for_sellers', 999);
function disabling_cod_for_sellers($available_payment_gateways)
{
if (
dokan_is_user_seller(dokan_get_current_user_id())
&&
isset($available_payment_gateways['cod'])
)
{
unset($available_payment_gateways['cod']);
}
return $available_payment_gateways;
}
这个答案已经在Dokan 3.3.5、Woo 5.7 上测试过并且有效。
【讨论】: