Customize Woocommerce Settings Tab

WooCommerce is the more powerful e-commerce plugin for WordPress.And what i love with WooCommerce is that there’s an API for nearly everything.There are almost Hooks and filters For Every Customization work.

Let’s talk about customizing Woocommerce Admin setting Tabs.To hide a specific Woocommerce setting tab or want to customize the Woocommerce setting tabs, not the entire sub-menu, but just a tab.For just Removing tabs we can use 'woocommerce_settings_tabs_array' Woocommerce Filter.

If you want to remove tabs instead of hiding them using CSS, then you can add the following to yours theme’s functions.php.

 

function RemoveWoocommerceSettingTabs( $value) {
    // the tabs we want to hide
    $tabToHide = array(
        'tax' => 'Tax',
        'checkout' => 'Checkout',
        'products' => 'products',
        'shipping' => 'Shipping',
        'integration' => 'Integration',
        'advanced' => 'Advanced',
        'email' => 'Emails',
        'api' => 'API',
        'account' => 'Accounts',
    );
    // Tabs We want to hide
    $value= array_diff_key($value, $tabToHide);
    return $value;
}
add_filter('woocommerce_settings_tabs_array','RemoveWoocommerceSettingTabs');

 

In this code $value passed in Function is empty variable,because all WooCommerce tabs has priority equal to 20.

so we have to add higher priority than 20, so now filter is.

 

add_filter('woocommerce_settings_tabs_array','RemoveWoocommerceSettingTabs', 200, 1);

 

But WE can still access the URLs of tabs .So This is just a way of removing the tabs Form html instead of hiding them. Means this filter just added benefit that tabs is not in HTML, so if we look at the source code, we would not find the elements.
So we have to modify the hook more.

 

function RemoveWoocommerceSettingTabs( $value) {
    // the tabs we want to hide
    $tabToHide= array(
        'tax' => 'Tax',
        'checkout' => 'Checkout',
        'products' => 'products',
        'shipping' => 'Shipping',
        'integration' => 'Integration',
        'advanced' => 'Advanced',
        'email' => 'Emails',
        'api' => 'API',
        'account' => 'Accounts',
    );
    // Tabs We want to hide
    $value= array_diff_key($value, $tabToHide);
    foreach($tabToHide as $tabs => $title) {
        add_action( 'woocommerce_settings_' . $array, 'RedirectFromTabPage');
    }
    return $value;
}
add_filter('woocommerce_settings_tabs_array','RemoveWoocommerceSettingTabs', 200, 1);

function RedirectFromTabPage() {
    wp_redirect(get_admin_url().’/admin.php?page=wc-settings’);
    exit;
}

 

I have added a foreach loop that goes through list of tabs we want to block and hooks it into the ‘woocommerce_settings_{$tab}’ action which is used to show settings pages of WooCommerce. Function 'RedirectFromTabPagefunction' is used for redirecting to custom URL.

Enjoy.

Categories

Related Blogs

Top Quick View Plugins WooCommerce

There are several popular WooCommerce quick view plugins that provide a convenient way for customers to view product details without leaving the current page. Keep in mind that the popularity of plugins can change over time, so it’s a good idea to check for the latest information and reviews before making a decision.