5

如何在不定价但保留购物车功能的情况下使用 woocommerce?我喜欢将产品添加到购物车的功能(将按钮更改为添加到报价单),然后在结账时而不是转到支付网关时,它会提交购物车中的所有项目以获取报价。收到订单后,我会联系客户并提供报价。您可以在管理员中编辑订单,因此从技术上讲,我可以将 0 成本项目更改为报价,然后通知客户他们的订单/报价已更新。

我可以让所有商品的成本为 0 并在前端隐藏价格吗?

4

2 回答 2

9

将价格设置为“0”,以便“添加到购物车”按钮仍然显示,但在您的模板中隐藏价格字段,并将“添加到购物车”标签更改为合适的标签,因此“添加到报价”或“添加入围'或您使用购物车的任何内容。

如果您仍希望结帐功能禁用除“货到付款”以外的所有付款选项,并将此付款选项的标题更改为“报价无需付款”或类似名称。无需付款,但客户无需付款即可创建订单

于 2013-05-24T09:43:43.690 回答
2

在 WooCommerce 中找到所有正确的过滤器来实现这一点需要一些挖掘,但是一旦找到它们,它就非常简单。这些是我用来将“购物车”语言更改为“报价”并简化结帐流程的各种片段:

add_filter('woocommerce_product_single_add_to_cart_text', 'rental_single_product_add_to_cart',10,2);
add_filter('woocommerce_product_add_to_cart_text', 'rental_single_product_add_to_cart',10,2);
function rental_single_product_add_to_cart( $title,$product ) {
    return 'Add to Quote';
}

add_action('woocommerce_widget_shopping_cart_before_buttons', 'rental_before_mini_cart_checkout',10);
function rental_before_mini_cart_checkout(){
    //change buttons in the flyout cart
    echo '
        <p class="buttons" style="display: block;">
                <a href="'.esc_url( wc_get_checkout_url() ).'" class="button checkout wc-forward">Submit for  Quote</a>
        </p>
    ';
}

add_filter('woocommerce_billing_fields','rental_billing_fields',10,1);
function rental_billing_fields($fields){
    unset($fields['billing_country']);
    unset($fields['billing_address_1']);
    unset($fields['billing_address_2']);
    unset($fields['billing_city']);
    unset($fields['billing_state']);
    unset($fields['billing_postcode']);

    return $fields;
}

add_filter('woocommerce_checkout_fields','rental_checkout_fields',10,1);
function rental_checkout_fields($fields){
    //change comment field labels
    $fields['order']['order_comments']['label'] = 'Notes';
    return $fields;
}

add_filter('woocommerce_order_button_text','rental_order_button_text',10,1);
function rental_order_button_text($text){
    return 'Submit to Request Confirmed Quote';
}

再加上/u/crdunst关于付款方式的建议,应该可以轻松切换到报价提交!

于 2016-11-29T14:25:16.460 回答