[英]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_shop
和woocommerce_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.