如何在woocommerce中禁用特定产品的货到付款方式

时间:2017-12-30 11:59:03

标签: html mysql woocommerce

我发布了一个不允许进行货到付款的产品我希望从该产品进行在线支付,这样我如何在woocommerce中指定该特定产品的在线支付方式,如在线提供服务

我知道如何禁用和启用货到付款方式但是对于所有产品都会禁用,我不想要

请任何人都可以解决此问题我如何只指定一种支付方式,即该产品的在线支付方式

1 个答案:

答案 0 :(得分:0)

我知道这有两种方法。首先,通过添加到您的主题functions.phpBusiness Bloomer - Rodolfo Melogli使用此功能强大的功能。如果您需要帮助,请转到https://businessbloomer.com/woocommerce-disable-payment-method-for-specific-category/并按照他们的说明操作。

  /**
 * @snippet       Disable Payment Method for Specific Category
 * @how-to        Watch tutorial @ https://businessbloomer.com/?p=19055
 * @sourcecode    https://businessbloomer.com/?p=19892
 * @author        Rodolfo Melogli
 * @testedwith    WooCommerce 3.2.5
 */

add_filter( 'woocommerce_available_payment_gateways', 'bbloomer_unset_gateway_by_category' );

function bbloomer_unset_gateway_by_category( $available_gateways ) {
global $woocommerce;
$unset = false;
$category_ids = array( 8, 37 );
foreach ( $woocommerce->cart->cart_contents as $key => $values ) {
    $terms = get_the_terms( $values['product_id'], 'product_cat' );    
    foreach ( $terms as $term ) {        
        if ( in_array( $term->term_id, $category_ids ) ) {
            $unset = true;
            break;
        }
    }
}
    if ( $unset == true ) unset( $available_gateways['cheque'] );
    return $available_gateways;
}

第二种方法是使用插件,例如https://wordpress.org/plugins/conditional-payment-methods-for-woocommerce/。还有其他插件可用,一些是免费的,一些是付费的。最好先研究它们,因为它们通常比你想要的要多得多。