如何在wp-admin中删除WooCommerce产品标签的子部分?

时间:2018-06-16 作者:user658182

WooCommerce设置位于wp-admin/admin.php?page=wc-settings 其设置的每个选项卡都是URL查询字符串的延续(例如:wp-admin/admin.php?page=wc-settings&tab=products 对于产品)。

我知道如何使用woocommerce_settings_tabs_array 钩子来操纵选项卡本身,但这些选项卡也有称为“节”的子链接

例如,由于我有一个高级插件,产品为我提供了常规、库存、可下载的产品和产品供应商。

如何从选项卡下方删除这些部分?具体来说,我想删除premium扩展添加的产品供应商链接。

2 个回复
SO网友:user141080

WooCommerce settings with product tab

要更改此“子导航”,可以使用WooCommerce筛选器“woocommerce_get_sections_products“。

以下示例代码将删除子导航点“库存”:

function change_navi_function($sections)
{
    // remove sub navigation point "inventory"
    unset($sections[\'inventory\']);

    return $sections;
}

add_filter(\'woocommerce_get_sections_products\', \'change_navi_function\');

WooCommerce settings with product tab without the subnavigation point inventory

您现在要做的是在premium插件的函数之后挂接“change\\u navi\\u function”函数,然后从“$sections”数组中删除“Product Vendors”。或者,您可以从使用“woocommerce\\u get\\u sections\\u products”过滤器的高级插件中取消该函数的挂钩。

SO网友:Eli King

您可以在中找到该文件~/wp-content/plugins/woocommerce/includes/admin/views/html-admin-settings.php

foreach ( $tabs as $slug => $label ) {
    echo \'<a href="\' . esc_html( admin_url( \'admin.php?page=wc-settings&tab=\' . esc_attr( $slug ) ) ) . \'" class="nav-tab \' . ( $current_tab === $slug ? \'nav-tab-active\' : \'\' ) . \'">\' . esc_html( $label ) . \'</a>\';
}
和编辑html-admin-settings.php 添加代码

foreach ( $tabs as $slug => $label ) {
    if( $slug != "Product"){
        echo \'<a href="\' . esc_html( admin_url( \'admin.php?page=wc-settings&tab=\' . esc_attr( $slug ) ) ) . \'" class="nav-tab \' . ( $current_tab === $slug ? \'nav-tab-active\' : \'\' ) . \'">\' . esc_html( $label ) . \'</a>\';
    }   
}

结束

相关推荐

使用Apply_Filters帮助输出POST类

我不熟悉脚本,这是一个插件,我想修改它来输出post类。当我尝试使用时:apply_filters( \'post_class\', $page->post_class ) it仅输出array=\" \". 我是否需要一个附加函数来连接到post类?在我的研究中,我无法判断我的语法是否错误,或者我在类中缺少了一个要“拉”的函数apply_filters 抓住。非常感谢你的帮助。 var $db_fields = array (\'parent\' => \'post_parent\',