第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

僅向管理員添加運輸方式到 Woocommerce 訂單頁面

僅向管理員添加運輸方式到 Woocommerce 訂單頁面

PHP
胡說叔叔 2023-04-02 15:05:50
我需要向我們的 WooCommerce編輯訂單頁面添加一些運輸方式。這將僅供管理員內(nèi)部使用,因此客戶應(yīng)該看不到這些選項。是否有我們可以添加的鉤子或自定義代碼來填充送貨方式下拉列表?不需要額外的功能(無稅、費率等)
查看完整描述

1 回答

?
德瑪西亞99

TA貢獻1770條經(jīng)驗 獲得超3個贊

我認(rèn)為有更多方法可以實現(xiàn)您的目標(biāo)。這將是一個解決方案:


用戶角色的運送方式


您可以使用用戶權(quán)限解決此問題。只有“管理員”角色的用戶才能使用“usps”送貨方式。


簡單的方法是使用免費插件,例如:


https://wordpress.org/plugins/user-role-editor/


在此插件中,您可以選擇您的用戶角色并單擊“添加功能”,希望能找到您的送貨方式。


還有完全適合您的問題的解決方案:


https://wordpress.org/plugins/user-role-based-shipping-method/ 還有很多插件不是免費的,但可能會提供更多的便利和支持。


更難的方法是編寫一個函數(shù)并使用 woocommerce 和 wordpress 鉤子和過濾器。這有點復(fù)雜,但我會給你一些開始的東西。


在 wordpress 中,用戶角色是一組能力。


您可以像這樣在 wordpress 中獲取角色對象:


$administrator_role = get_role( 'administrator' );

您可以添加功能并刪除它們:


$administrator_role->add_cap( 'custom_capability' );

$administrator_role->remove_cap( 'custom_capability' );

在此處閱讀相關(guān)內(nèi)容:https ://developer.wordpress.org/plugins/users/roles-and-capabilities/


幸運的是,有一個 woocommerce 過濾器可供使用。 也許你應(yīng)該先看看這個,這可能會完全解決你的問題:


https://docs.woocommerce.com/document/hide-other-shipping-methods-when-free-shipping-is-available/


如您所見,您想要的過濾器是:


add_filter('woocommerce_package_rates', 'your_function', 30, 2);

http://hookr.io/filters/woocommerce_package_rates/


這是一個教程,如何使用它:


https://trackitweb.com/woocommerce-hide-a-shipping-method-based-on-user-role/


示例中的送貨方式稱為“本地取件”:


add_filter('woocommerce_package_rates', 'hide_local_pickup_based_on_user_role', 30, 2);


function hide_local_pickup_based_on_user_role($rates, $package) {

  foreach($rates as $rate_key => $rate){

    if($rate->method_id === 'local_pickup'){

      if(!current_user_can('local_pickup_allowed') || !is_user_logged_in()){

        unset($rates[$rate_key]);

        break;

      }

    }

  }

  return $rates;

這是您檢查角色能力(和登錄)的部分,用于為沒有此能力的用戶取消運輸方式:


if(!current_user_can('local_pickup_allowed') || !is_user_logged_in()){ ... }

我希望這可以幫助你!


查看完整回答
反對 回復(fù) 2023-04-02
  • 1 回答
  • 0 關(guān)注
  • 152 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號