簡體   English   中英

按用戶角色在 Woocommerce 中顯示稅收

[英]Displaying Taxes in Woocommerce by User Role

我的任務是修改現有的 B2C WooCommerce 商店以啟用 B2B 批發訂單。 到目前為止,用戶角色編輯器和用戶角色的 WooCommerce 價格的組合使我能夠設置批發價格並使商店正常運行。

我面臨的問題是,現在我被告知批發價格需要在結賬前顯示不含增值稅,但由於我們位於英國,因此無法以這種方式向消費者顯示價格,這意味着我需要比 WooCommerce 本身允許的更精細的控制。

我注意到已經有一個關於在 woocommerce 中基於角色的稅收為用戶角色設置稅收的已解決問題,但我真正需要的是一段代碼或一個插件,可以讓我設置“商店中的顯示價格”變量WooCommerce 的標准稅收面板為一個用戶角色排除稅收,但默認為其他所有人包含稅收。

那可能嗎?

將以下內容放在我的functions.php 中對我有用。 如果角色是“零售商”,我會覆蓋 WooCommerce 選項以在商店和購物車中顯示稅費。

add_filter('pre_option_woocommerce_tax_display_shop', 'override_tax_display_setting');
add_filter('pre_option_woocommerce_tax_display_cart', 'override_tax_display_setting');
function override_tax_display_setting() {
    if ( current_user_can('retailer') ) {
        return "excl";
    } else {
        return "incl";
    }
}

@hagbard_2605 的解決方案對我有用,以下自定義插件適用於 WordPress 4.6和 WooCommerce 2.2.3

<?php
/*
Plugin Name: My WooCommerce Prices Excluding Tax for Distributors
Plugin URI: https://www.pronamic.eu/
Description: Display WooCommerce prices exlcuding tax for distributors.
Author: Pronamic
Version: 1.0.0
Author URI: https://www.pronamic.eu/
*/

/**
 * Override WooCommerce tax display option for distributors.
 *
 * @see http://stackoverflow.com/questions/29649963/displaying-taxes-in-woocommerce-by-user-role
 * @see https://github.com/woothemes/woocommerce/blob/v2.2.3/includes/admin/settings/class-wc-settings-tax.php#L147-L158
 * @see https://github.com/woothemes/woocommerce/blob/v2.2.3/includes/admin/settings/class-wc-settings-tax.php#L166-L178
 * @see https://github.com/WordPress/WordPress/blob/4.6.1/wp-includes/option.php#L37-L52
 */
function my_override_woocommerce_tax_display( $value ) {
    if ( current_user_can( 'retailer' ) ) {
        return 'excl';
    }

    return $value;
}

add_filter( 'pre_option_woocommerce_tax_display_shop', 'my_override_woocommerce_tax_display' );
add_filter( 'pre_option_woocommerce_tax_display_cart', 'my_override_woocommerce_tax_display' );

WordPress pre_option_過濾器用於為具有retailer角色/能力的用戶覆蓋 WooCommerce woocommerce_tax_display_shopwoocommerce_tax_display_cart選項。

我沒有足夠的分數來評論這里的答案,但@hagbard_2605 的答案不起作用。 我什至找不到他提到的過濾器。 但是,您可以找到“woocommerce_tax_setting”過濾器: https : //github.com/woothemes/woocommerce/blob/5ef335b169ff4e19a4c5b393963a369446922b0c/includes/admin/settings/views/settings-tax.php#L7 也許那會奏效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM