WooCommerce按用户角色删除购物车

时间:2019-04-08 07:23:09

标签: php wordpress woocommerce product cart

在Woocommerce中,我有一个功能,可以用商店和存档页面中产品的链接按钮替换添加到购物车按钮:

function quantity_inputs_for_woocommerce_loop_add_to_cart_link( $html, $product ) {
if ( ! current_user_can('customer') ) {
    $link = get_permalink($product_id);
    $button_text = __( "View product", "woocommerce" );
    $html = '<a href="'.$link.'" class="button alt add_to_cart_button">'.$button_text.'</a>';
}
return $html;
}
add_filter( 'woocommerce_loop_add_to_cart_link', 'conditionally_change_loop_add_to_cart_link', 10, 2 );

如果用户未以客户身份登录,我想删除所有页面上的“添加到购物车”按钮。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

尝试使用以下代码代替您的实际代码,该代码将在所有地方执行所有操作,并且在用户未登录时将删除添加到购物车按钮:

add_filter('woocommerce_is_purchasable', 'woocommerce_is_purchasable_filter_callback', 10, 2 );
function woocommerce_is_purchasable_filter_callback( $purchasable, $product ) {
    if ( ! is_user_logged_in() ) 
        $purchasable = false;

    return $purchasable;
}

代码进入您的活动子主题(或活动主题)的function.php文件中。