2016-07-29 98 views

回答

-4

有同样的问题,这使用,只是固定它。

打开此文件:
... \ WWW \ Your_website_folder \可湿性粉剂内容\插件\ woocommerce \包括\ wc_account-的functions.php

现在搜索wc_get_account_menu_items()函数(线78)

现在代替这条线(线91)

 'downloads'  => __('Downloads', 'woocommerce'), 

与这一个

/*  'downloads'  => __('Downloads', 'woocommerce'),*/ 

就是这样。

+4

这个答案是错误的。永远不要修改插件的源代码,插件更新时它会被覆盖。请参阅下面的答案,解释如何正确禁用该插件所需的功能。 http://stackoverflow.com/a/41988635/3421659 – Andrew

1

不知道如果我理解正确的,但如果你愿意从“我的帐户”页面中删除“下载”导航选项,然后继续阅读:)

  1. 创建子主题,以您目前使用的主题。如果你不知道它是什么读这个:https://codex.wordpress.org/Child_Themes
  2. 现在从... \ wp-content \ plugins \ woocommerce \ templates \ myaccount \复制navigation.php到子主题文件夹... \ wp-content \ themes \ yourtheme-child \ woocommerce \ myaccount \
  3. 在您的Child主题文件夹中打开navigation.php。找到具有函数wc_get_account_menu_items()的行并将函数重命名为例如wc_get_account_menu_items_custom()
  4. 在您的Child主题文件夹中打开functions.php。粘贴在文件下面的功能。保存文件,就这些了。现在“我的帐户”页面没有“下载”导航选项。

    function wc_get_account_menu_items_custom() { 
        $endpoints = array(
         'orders'   => get_option('woocommerce_myaccount_orders_endpoint', 'orders'), 
         'edit-address' => get_option('woocommerce_myaccount_edit_address_endpoint', 'edit-address'), 
         'payment-methods' => get_option('woocommerce_myaccount_payment_methods_endpoint', 'payment-methods'), 
         'edit-account' => get_option('woocommerce_myaccount_edit_account_endpoint', 'edit-account'), 
         'customer-logout' => get_option('woocommerce_logout_endpoint', 'customer-logout'), 
        ); 
    
        $items = array(
         'dashboard'  => __('Dashboard', 'woocommerce'), 
         'orders'   => __('Orders', 'woocommerce'), 
         'edit-address' => __('Addresses', 'woocommerce'), 
         'payment-methods' => __('Payment Methods', 'woocommerce'), 
         'edit-account' => __('Account Details', 'woocommerce'), 
         'customer-logout' => __('Logout', 'woocommerce'), 
        ); 
    
        // Remove missing endpoints. 
        foreach ($endpoints as $endpoint_id => $endpoint) { 
         if (empty($endpoint)) { 
          unset($items[ $endpoint_id ]); 
         } 
        } 
    
        // Check if payment gateways support add new payment methods. 
        if (isset($items['payment-methods'])) { 
         $support_payment_methods = false; 
         foreach (WC()->payment_gateways->get_available_payment_gateways() as $gateway) { 
          if ($gateway->supports('add_payment_method') || $gateway->supports('tokenization')) { 
           $support_payment_methods = true; 
           break; 
          } 
         } 
    
         if (! $support_payment_methods) { 
          unset($items['payment-methods']); 
         } 
        } 
    
        return apply_filters('woocommerce_account_menu_items_custom', $items); 
    } 
    

    注意:这是编辑原WooCommerce功能。刚刚删除的数组字段提到“下载”选项。 希望这有助于。

7
function CM_woocommerce_account_menu_items_callback($items) { 
    unset($items['downloads']); 
    return $items; 
} 
add_filter('woocommerce_account_menu_items', 'CM_woocommerce_account_menu_items_callback', 10, 1); 

代替上述

+3

+1。这是正确的答案,不要修改插件,你最终会在每次更新时修补插件,而是使用此答案中显示的可用筛选器! –

+1

而不是在核心文件中更改,最好对任何操作/过滤器使用支持挂钩。 –

19

作者:Claudio Sanches(@claudiosanches): 转到WooCommerce> Settings> Account并清理下载端点字段。 这将禁用下载页面。

+1

谢谢,这绝对是最好的答案 – Andrew

+0

然而,这不会隐藏“可下载”选项时编辑wp-admin中的产品... – Philipp

+0

感谢您的答复。我想要做的就是隐藏客户的页面。再次感谢。 –

-2

CSS修复...没有篡改功能。

.woocommerce-MyAccount-navigation-link--downloads { 
display: none; 
}