

Product data panel with the Custom Tabs tab.
Kitgenix Custom Tabs for WooCommerce lets you add product-specific custom tabs from the WooCommerce product editor, reuse saved tab templates, and duplicate existing tabs when products only need small content variations.
Designed to be lightweight and modular:
– Add tabs per product (title, optional nickname, optional slug, optional priority/position, rich content)
– Add global tabs that apply to every product (optional)
– Optional shortcode processing for tab content
– Safety limits to keep the product editor fast (max tabs per product)
– Optional setting to hide the tab heading inside the tab content panel
Optional: add store-wide tabs under Kitgenix Custom Tabs Global Tabs.
Optional: save reusable snippets under Kitgenix Custom Tabs Templates, then insert them into products or global tabs in one click.
Optional: use the settings screen to control maximum tabs, default tab positions, shortcode support, and heading visibility.
Text domain:
– kitgenix-custom-tabs-for-woocommerce
Settings option:
– kitgenix_custom_tabs_for_woocommerce_settings
Settings group (Settings API):
– kitgenix_custom_tabs_for_woocommerce_settings_group
Settings keys (stored inside the option array):
– enabled (bool/int)
– max_tabs (int)
– allow_shortcodes (bool/int)
– priority_base (int)
– priority_step (int)
– hide_tab_heading (bool/int)
– tab_templates (array of reusable tab rows)
– global_tabs (array of tab rows)
Sanitization behavior:
– The sanitize callback merges submitted values into the existing option, so saving one settings tab/form does not wipe values from other tabs.
Post meta:
– kitgenix_custom_tabs_for_woocommerce_tabs (array)
Transients:
– kitgenix_custom_tabs_for_woocommerce_do_activation_redirect (short-lived activation redirect flag)
– kitgenix_custom_tabs_for_woocommerce_usage_stats (cached support-tab usage totals)
– kitgenix_hub_wporg_active_installs_v1 (Kitgenix hub cache; active install counts)
– kitgenix_hub_wporg_ratings_v1 (Kitgenix hub cache; ratings percentage)
– kitgenix_hub_wporg_media_v1 (Kitgenix hub cache; banners/icons)
Nonces (exact identifiers):
– Product save nonce field: kitgenix_custom_tabs_for_woocommerce_tabs_nonce
– Product save nonce action: kitgenix_custom_tabs_for_woocommerce_tabs_save
– Settings form nonce field: kitgenix_custom_tabs_for_woocommerce_settings_nonce
– Settings form nonce action: kitgenix_custom_tabs_for_woocommerce_settings_save
Hooks used:
– plugins_loaded (action): bootstrap plugin when WooCommerce is available
– init (action): load translations
– admin_init (action): register settings; perform activation redirect once
– admin_menu (action): ensure shared Kitgenix hub menu; register plugin submenu page
– admin_head (action): inject shared Kitgenix hub admin menu icon CSS
– admin_enqueue_scripts (action): enqueue hub/admin/product editor assets
– plugin_action_links_{plugin_basename} (filter): add “Settings” link on Plugins screen
– before_woocommerce_init (action): declare WooCommerce HPOS compatibility
– woocommerce_product_tabs (filter): inject frontend tabs
– woocommerce_product_data_tabs (filter): add Product data tab
– woocommerce_product_data_panels (action): render Product data panel
– woocommerce_process_product_meta (action): save product tab meta
This plugin can connect to the WordPress.org Plugins API when you view the shared Kitgenix admin hub page.
It uses WordPress core’s plugins_api() to fetch plugin information (such as active install counts and ratings) for Kitgenix plugins, and caches results in transients.
No customer/order/product data is sent.
On uninstall, the plugin removes:
– The settings option
– All saved product tab meta entries
Note: the uninstall handler does not explicitly delete short-lived transients or hub cache transients.
If this plugin saves you time, you can support development here:
https://buymeacoffee.com/kitgenix
Built with ❤︎ by @kitgenix – https://kitgenix.com