Pawan Kumawat

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

Add Custom Product Data Tab

Learn how to enhance your WooCommerce product editor by adding a custom product data tab. Follow a step-by-step guide using the woocommerce_product_data_tabs filter and the woocommerce_product_data_panels action. Create a custom tab with your desired label, and include your own fields or content within the panel. Customize your product data to collect and display additional information, providing a tailored experience for your WooCommerce products.

To list down future posts in WordPress

To list down future posts in WordPress, you can use the `WP_Query` class to customize the query and fetch future posts. The future posts are the ones with a post status of “future,” and their publication date is scheduled in the future.