{"id":98462,"date":"2019-02-22T10:35:40","date_gmt":"2019-02-22T10:35:40","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wc-backorder-split\/"},"modified":"2026-02-17T09:21:21","modified_gmt":"2026-02-17T09:21:21","slug":"wc-backorder-split","status":"publish","type":"plugin","link":"https:\/\/scn.wordpress.org\/plugins\/wc-backorder-split\/","author":15584598,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.1.0","stable_tag":"2.1.0","tested":"6.9.4","requires":"4.9","requires_php":"","requires_plugins":null,"header_name":"WC Backorder Split","header_author":"WPHEKA","header_description":"A simple plugin that helps you split the WooCommerce order for the products that you do not have in stock.","assets_banners_color":"f4d9db","last_updated":"2026-02-17 09:21:21","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.me\/AKSHAYASWAROOP","header_plugin_uri":"https:\/\/www.wpheka.com\/product\/wc-backorder-split","header_author_uri":"https:\/\/www.wpheka.com","rating":3.7,"author_block_rating":0,"active_installs":60,"downloads":5569,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"akshayaswaroop","date":"2019-02-22 10:51:57"},"1.1":{"tag":"1.1","author":"akshayaswaroop","date":"2019-04-05 08:13:05"},"1.2":{"tag":"1.2","author":"akshayaswaroop","date":"2019-06-11 08:26:17"},"1.3":{"tag":"1.3","author":"akshayaswaroop","date":"2019-06-13 08:05:09"},"1.4":{"tag":"1.4","author":"akshayaswaroop","date":"2020-06-12 07:12:26"},"1.5":{"tag":"1.5","author":"akshayaswaroop","date":"2021-01-15 15:02:57"},"1.6":{"tag":"1.6","author":"akshayaswaroop","date":"2021-01-16 08:40:50"},"1.7":{"tag":"1.7","author":"akshayaswaroop","date":"2022-06-09 18:07:33"},"1.8":{"tag":"1.8","author":"akshayaswaroop","date":"2024-07-29 03:05:55"},"1.9":{"tag":"1.9","author":"akshayaswaroop","date":"2025-05-14 16:13:27"},"2.0":{"tag":"2.0","author":"akshayaswaroop","date":"2025-11-10 14:15:54"},"2.1.0":{"tag":"2.1.0","author":"akshayaswaroop","date":"2026-02-17 09:21:21"}},"upgrade_notice":[],"ratings":{"1":1,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2740078,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2740078,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":2740078,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":2036890,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.1","1.2","1.3","1.4","1.5","1.6","1.7","1.8","1.9","2.0","2.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2036890,"resolution":"1","location":"assets","locale":""}},"screenshots":{"1":"WooCommerce orders admin."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[56975,168320,168321,11278,168319],"plugin_category":[],"plugin_contributors":[144954,184479],"plugin_business_model":[],"class_list":["post-98462","plugin","type-plugin","status-publish","hentry","plugin_tags-backorder","plugin_tags-backorder-split","plugin_tags-order-split","plugin_tags-split","plugin_tags-wc-backorder-split","plugin_contributors-akshayaswaroop","plugin_contributors-wpheka","plugin_committers-akshayaswaroop"],"banners":{"banner":"https:\/\/ps.w.org\/wc-backorder-split\/assets\/banner-772x250.png?rev=2036890","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/wc-backorder-split\/assets\/icon.svg?rev=2740078","icon":"https:\/\/ps.w.org\/wc-backorder-split\/assets\/icon.svg?rev=2740078","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wc-backorder-split\/assets\/screenshot-1.png?rev=2036890","caption":"WooCommerce orders admin."}],"raw_content":"<!--section=description-->\n<p>WC Backorder Split is a free WooCommerce extension that <strong>automatically<\/strong> creates a separate order with status \"Backordered\" for the products that you don't have in stock (Products on backorder).<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Automatic Order Splitting<\/strong> - Automatically splits orders when products are on backorder<\/li>\n<li><strong>Complete Order Data Transfer<\/strong> - Copies shipping methods, payment info, fees, coupons and taxes to backorder<\/li>\n<li><strong>Order Relationship Tracking<\/strong> - Links parent and backorder orders for easy reference<\/li>\n<li><strong>Custom Order Status<\/strong> - Adds \"Backordered\" status to WooCommerce<\/li>\n<li><strong>Order Notes<\/strong> - Automatically adds notes explaining the split to both orders<\/li>\n<li><strong>Admin Interface<\/strong> - Shows linked orders directly in order details page<\/li>\n<li><strong>HPOS Compatible<\/strong> - Full support for WooCommerce High-Performance Order Storage<\/li>\n<li><strong>Developer Friendly<\/strong> - Extensive hooks and filters for customization<\/li>\n<\/ul>\n\n<h4>Developer Features<\/h4>\n\n<p>Developers can extend the plugin using built-in hooks:<\/p>\n\n<ul>\n<li><code>wcbs_before_split_order<\/code> - Action before order splitting<\/li>\n<li><code>wcbs_after_split_order<\/code> - Action after order splitting<\/li>\n<li><code>wcbs_backorder_created<\/code> - Action when backorder is created<\/li>\n<li><code>wcbs_should_split_order<\/code> - Filter to prevent splitting<\/li>\n<li><code>wcbs_backorder_items<\/code> - Filter to modify backorder items<\/li>\n<li><code>wcbs_backorder_status<\/code> - Filter to change backorder status<\/li>\n<\/ul>\n\n<p>If you enjoyed this plugin then please put a review, that will encourage me to bring some more \u2026<\/p>\n\n<!--section=installation-->\n<h4>Minimum Requirements<\/h4>\n\n<ul>\n<li>WooCommerce 3.0 or later<\/li>\n<\/ul>\n\n<ol>\n<li>Upload 'wc-backorder-split' to the '\/wp-content\/plugins\/' directory or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Done!<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20it%20works%3F\"><h3>How It Works?<\/h3><\/dt>\n<dd><p><em>check installation<\/em><\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1.0 - 2026-02-17<\/h4>\n\n<ul>\n<li>Security - Fixed unsanitized $_SERVER['REQUEST_URI'] access in REST API detection.<\/li>\n<li>Enhancement - Added comprehensive order data copying: shipping methods, payment info, fees, coupons, and taxes.<\/li>\n<li>Enhancement - Added order relationship linking between parent order and backorder.<\/li>\n<li>Enhancement - Added order notes to both orders explaining the split operation.<\/li>\n<li>Enhancement - Added admin panel display showing linked orders in order details.<\/li>\n<li>Enhancement - Added developer hooks for extensibility (wcbs_before_split_order, wcbs_after_split_order, wcbs_backorder_created, wcbs_split_order_error).<\/li>\n<li>Enhancement - Added filter hooks for customization (wcbs_should_split_order, wcbs_backorder_items, wcbs_backorder_status).<\/li>\n<li>Enhancement - Improved item meta data copying during split to preserve product variations and custom data.<\/li>\n<li>Enhancement - Added comprehensive PHPDoc documentation with @since tags throughout codebase.<\/li>\n<li>Fix - Critical: Added protection against duplicate order splits on page reload.<\/li>\n<li>Fix - Fixed fatal error \"Call to a member function save() on int\" when copying item meta data.<\/li>\n<li>Fix - Fixed order splitting logic to work correctly when product stock status is already 'onbackorder'.<\/li>\n<li>Fix - Removed unnecessary is_on_backorder() check that prevented stock quantity tracking.<\/li>\n<li>Fix - Properly retrieve order item objects after add_product() to enable meta data copying.<\/li>\n<li>Fix - Updated version number consistency across all plugin files.<\/li>\n<li>Fix - Updated @version tags in PHPDoc blocks to reflect current version.<\/li>\n<li>Fix - Made bulk action text translatable for better localization support.<\/li>\n<li>Fix - Added return value to is_request() method for better error handling.<\/li>\n<\/ul>\n\n<h4>2.0 - 2025-11-10<\/h4>\n\n<ul>\n<li>Security - Added CSRF protection with nonce validation for AJAX requests.<\/li>\n<li>Security - Added capability checks for admin operations.<\/li>\n<li>Security - Enhanced input validation and sanitization.<\/li>\n<li>Enhancement - Improved error handling with try-catch blocks and logging.<\/li>\n<li>Enhancement - Added comprehensive PHPDoc documentation.<\/li>\n<li>Enhancement - Optimized performance by loading admin styles only on relevant pages.<\/li>\n<li>Enhancement - Improved database query efficiency using specific item types.<\/li>\n<li>Enhancement - Enhanced product and order validation throughout the codebase.<\/li>\n<li>Enhancement - Added detailed error logging for debugging and monitoring.<\/li>\n<li>Fix - Fixed class reference in singleton pattern documentation.<\/li>\n<li>Fix - Improved code structure and readability.<\/li>\n<li>Tweak - Maintained full HPOS (High-Performance Order Storage) compatibility.<\/li>\n<\/ul>\n\n<h4>1.9 - 2025-05-14<\/h4>\n\n<ul>\n<li>Enhancement - WooCommerce Version 9.8.5 compatibility added.<\/li>\n<\/ul>\n\n<h4>1.8 - 2024-07-29<\/h4>\n\n<ul>\n<li>Enhancement - WooCommerce Version 9.1.4 compatibility added.<\/li>\n<li>Enhancement - WooCommerce High Performance Order Storage compatibility added.<\/li>\n<\/ul>\n\n<h4>1.7 - 2022-06-09<\/h4>\n\n<ul>\n<li>Enhancement - WooCommerce Version 6.5.1 compatibility added.<\/li>\n<\/ul>\n\n<h4>1.6 - 2021-01-16<\/h4>\n\n<ul>\n<li>Fix - Negative stocks checking issue fixed.<\/li>\n<\/ul>\n\n<h4>1.5 - 2021-01-15<\/h4>\n\n<ul>\n<li>Fix - Parent order quantity issue fixed.<\/li>\n<li>Tweak - WC 4.9.0 support added.<\/li>\n<\/ul>\n\n<h4>1.4 - 2020-06-12<\/h4>\n\n<ul>\n<li>Enhancement - Deactivation feedback form added.<\/li>\n<li>Enhancement - Plugin structure updated.<\/li>\n<li>Tweak - WC 4.2 support added.<\/li>\n<\/ul>\n\n<h4>1.3 - 2019-06-13<\/h4>\n\n<ul>\n<li>Order status updation issue fixed<\/li>\n<\/ul>\n\n<h4>1.2 - 2019-06-11<\/h4>\n\n<ul>\n<li>Order splitting bug fixes<\/li>\n<\/ul>\n\n<h4>1.1 - 2019-04-8<\/h4>\n\n<ul>\n<li>Guest user data in backorder bug fixed<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"A simple plugin that helps you split the WooCommerce order for the products that you do not have in stock.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/98462","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=98462"}],"author":[{"embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/akshayaswaroop"}],"wp:attachment":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=98462"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=98462"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=98462"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=98462"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=98462"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=98462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}