Version Description
- 2015.nn.nn =
- Misc - WooCommerce Subscriptions: Use new filter hook wcs_renewal_order_created instead of deprecated woocommerce_subscriptions_renewal_order_created
- Misc - WooCommerce 2.5 compatibility
- Misc - Dropped WooCommerce 2.2 support
Download this release
Release Info
Developer | SkyVerge |
Plugin | WooCommerce Sequential Order Numbers |
Version | 1.6.0 |
Comparing to | |
See all releases |
Code changes from version 1.5.1 to 1.6.0
i18n/languages/woocommerce-sequential-order-numbers.pot
CHANGED
@@ -1,25 +1,26 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the GNU General Public License v3.0.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: WooCommerce Sequential Order Numbers 1.
|
6 |
"Report-Msgid-Bugs-To: "
|
7 |
"https://github.com/skyverge/woocommerce-sequential-order-numbers/issues\n"
|
8 |
"POT-Creation-Date: 2014-09-05 22:27:38+00:00\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"PO-Revision-Date:
|
13 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
|
16 |
-
#: woocommerce-sequential-order-numbers.php:
|
|
|
17 |
msgid ""
|
18 |
"Error activating and installing <strong>WooCommerce Sequential Order "
|
19 |
"Numbers</strong>: %s"
|
20 |
msgstr ""
|
21 |
|
22 |
-
#: woocommerce-sequential-order-numbers.php:
|
23 |
msgid "« Go Back"
|
24 |
msgstr ""
|
25 |
|
1 |
+
# Copyright (C) 2016 SkyVerge
|
2 |
# This file is distributed under the GNU General Public License v3.0.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: WooCommerce Sequential Order Numbers 1.6.0\n"
|
6 |
"Report-Msgid-Bugs-To: "
|
7 |
"https://github.com/skyverge/woocommerce-sequential-order-numbers/issues\n"
|
8 |
"POT-Creation-Date: 2014-09-05 22:27:38+00:00\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"PO-Revision-Date: 2016-MO-DA HO:MI+ZONE\n"
|
13 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
|
16 |
+
#: woocommerce-sequential-order-numbers.php:460
|
17 |
+
#. Translators: %s - error message(s)
|
18 |
msgid ""
|
19 |
"Error activating and installing <strong>WooCommerce Sequential Order "
|
20 |
"Numbers</strong>: %s"
|
21 |
msgstr ""
|
22 |
|
23 |
+
#: woocommerce-sequential-order-numbers.php:461
|
24 |
msgid "« Go Back"
|
25 |
msgstr ""
|
26 |
|
readme.txt
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
=== WooCommerce Sequential Order Numbers ===
|
2 |
Contributors: SkyVerge, maxrice, tamarazuk, chasewiseman, nekojira
|
3 |
Tags: woocommerce, order number
|
4 |
-
Requires at least:
|
5 |
-
Tested up to: 4.4
|
6 |
-
Requires WooCommerce at least: 2.
|
7 |
-
Tested WooCommerce up to: 2.
|
8 |
-
Stable tag: 1.
|
9 |
|
10 |
This plugin extends WooCommerce by setting sequential order numbers for new orders.
|
11 |
|
@@ -54,6 +54,11 @@ This free version does not have that functionality, but it's included in the pre
|
|
54 |
|
55 |
== Changelog ==
|
56 |
|
|
|
|
|
|
|
|
|
|
|
57 |
= 1.5.1 - 2015.11.26 =
|
58 |
* Fix - Compatibility fix with WooCommerce Subscriptions 2.0
|
59 |
|
1 |
=== WooCommerce Sequential Order Numbers ===
|
2 |
Contributors: SkyVerge, maxrice, tamarazuk, chasewiseman, nekojira
|
3 |
Tags: woocommerce, order number
|
4 |
+
Requires at least: 4.0
|
5 |
+
Tested up to: 4.4.1
|
6 |
+
Requires WooCommerce at least: 2.3
|
7 |
+
Tested WooCommerce up to: 2.5
|
8 |
+
Stable tag: 1.6.0
|
9 |
|
10 |
This plugin extends WooCommerce by setting sequential order numbers for new orders.
|
11 |
|
54 |
|
55 |
== Changelog ==
|
56 |
|
57 |
+
= 1.6.0 - 2015.nn.nn =
|
58 |
+
* Misc - WooCommerce Subscriptions: Use new filter hook wcs_renewal_order_created instead of deprecated woocommerce_subscriptions_renewal_order_created
|
59 |
+
* Misc - WooCommerce 2.5 compatibility
|
60 |
+
* Misc - Dropped WooCommerce 2.2 support
|
61 |
+
|
62 |
= 1.5.1 - 2015.11.26 =
|
63 |
* Fix - Compatibility fix with WooCommerce Subscriptions 2.0
|
64 |
|
woocommerce-sequential-order-numbers.php
CHANGED
@@ -5,11 +5,11 @@
|
|
5 |
* Description: Provides sequential order numbers for WooCommerce orders
|
6 |
* Author: SkyVerge
|
7 |
* Author URI: http://www.skyverge.com
|
8 |
-
* Version: 1.
|
9 |
* Text Domain: woocommerce-sequential-order-numbers
|
10 |
* Domain Path: /i18n/languages/
|
11 |
*
|
12 |
-
* Copyright: (c) 2012-
|
13 |
*
|
14 |
* License: GNU General Public License v3.0
|
15 |
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
@@ -17,7 +17,7 @@
|
|
17 |
* @package WC-Sequential-Order-Numbers
|
18 |
* @author SkyVerge
|
19 |
* @category Plugin
|
20 |
-
* @copyright Copyright (c) 2012-
|
21 |
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0
|
22 |
*/
|
23 |
|
@@ -38,13 +38,13 @@ $GLOBALS['wc_seq_order_number'] = new WC_Seq_Order_Number();
|
|
38 |
class WC_Seq_Order_Number {
|
39 |
|
40 |
/** version number */
|
41 |
-
const VERSION = "1.
|
42 |
|
43 |
/** version option name */
|
44 |
const VERSION_OPTION_NAME = "woocommerce_seq_order_number_db_version";
|
45 |
|
46 |
/** minimum required wc version */
|
47 |
-
const MINIMUM_WC_VERSION = '2.
|
48 |
|
49 |
|
50 |
/**
|
@@ -78,7 +78,7 @@ class WC_Seq_Order_Number {
|
|
78 |
add_action( 'woocommerce_process_shop_order_meta', array( $this, 'set_sequential_order_number' ), 10, 2 );
|
79 |
|
80 |
// return our custom order number for display
|
81 |
-
add_filter( 'woocommerce_order_number', array( $this, 'get_order_number' ), 10, 2);
|
82 |
|
83 |
// order tracking page search by order number
|
84 |
add_filter( 'woocommerce_shortcode_order_tracking_order_id', array( $this, 'find_order_by_order_number' ) );
|
@@ -87,9 +87,9 @@ class WC_Seq_Order_Number {
|
|
87 |
add_filter( 'woocommerce_subscriptions_renewal_order_meta_query', array( $this, 'subscriptions_remove_renewal_order_meta' ), 10, 4 );
|
88 |
|
89 |
if ( self::is_wc_subscriptions_version_gte_2_0() ) {
|
90 |
-
add_filter( '
|
91 |
} else {
|
92 |
-
add_action( 'woocommerce_subscriptions_renewal_order_created', array( $this, 'subscriptions_set_sequential_order_number' ), 10,
|
93 |
}
|
94 |
|
95 |
if ( is_admin() ) {
|
@@ -172,12 +172,15 @@ class WC_Seq_Order_Number {
|
|
172 |
global $wpdb;
|
173 |
|
174 |
if ( 'shop_order' == $post->post_type && 'auto-draft' != $post->post_status ) {
|
|
|
175 |
$order_number = get_post_meta( $post_id, '_order_number', true );
|
|
|
176 |
if ( "" == $order_number ) {
|
177 |
|
178 |
// attempt the query up to 3 times for a much higher success rate if it fails (due to Deadlock)
|
179 |
$success = false;
|
180 |
for ( $i = 0; $i < 3 && ! $success; $i++ ) {
|
|
|
181 |
// this seems to me like the safest way to avoid order number clashes
|
182 |
$query = $wpdb->prepare( "
|
183 |
INSERT INTO {$wpdb->postmeta} (post_id, meta_key, meta_value)
|
@@ -204,7 +207,7 @@ class WC_Seq_Order_Number {
|
|
204 |
public function get_order_number( $order_number, $order ) {
|
205 |
|
206 |
if ( $order->order_number ) {
|
207 |
-
return
|
208 |
}
|
209 |
|
210 |
return $order_number;
|
@@ -222,9 +225,9 @@ class WC_Seq_Order_Number {
|
|
222 |
*/
|
223 |
public function woocommerce_custom_shop_order_orderby( $vars ) {
|
224 |
global $typenow, $wp_query;
|
|
|
225 |
if ( 'shop_order' == $typenow ) {
|
226 |
return $vars;
|
227 |
-
|
228 |
}
|
229 |
|
230 |
return $this->custom_orderby( $vars );
|
@@ -239,8 +242,10 @@ class WC_Seq_Order_Number {
|
|
239 |
* @return array associative array of orderby parameteres
|
240 |
*/
|
241 |
public function custom_orderby( $args ) {
|
|
|
242 |
// Sorting
|
243 |
if ( isset( $args['orderby'] ) && 'ID' == $args['orderby'] ) {
|
|
|
244 |
$args = array_merge( $args, array(
|
245 |
'meta_key' => '_order_number', // sort on numerical portion for better results
|
246 |
'orderby' => 'meta_value_num',
|
@@ -276,7 +281,6 @@ class WC_Seq_Order_Number {
|
|
276 |
* @return string|null WC_Subscriptions version number or null if not found
|
277 |
*/
|
278 |
protected static function get_wc_subscriptions_version() {
|
279 |
-
|
280 |
return class_exists( 'WC_Subscriptions' ) && ! empty( WC_Subscriptions::$version ) ? WC_Subscriptions::$version : null;
|
281 |
}
|
282 |
|
@@ -288,7 +292,6 @@ class WC_Seq_Order_Number {
|
|
288 |
* @return boolean
|
289 |
*/
|
290 |
protected static function is_wc_subscriptions_version_gte_2_0() {
|
291 |
-
|
292 |
return self::get_wc_subscriptions_version() && version_compare( self::get_wc_subscriptions_version(), '2.0-beta-1', '>=' );
|
293 |
}
|
294 |
|
@@ -298,16 +301,15 @@ class WC_Seq_Order_Number {
|
|
298 |
*
|
299 |
* @since 1.3
|
300 |
* @param WC_Order $renewal_order the new renewal order object
|
301 |
-
* @param WC_Order $original_order the original order object
|
302 |
-
* @
|
303 |
-
* @param string $new_order_role the role the renewal order is taking, one of 'parent' or 'child'
|
304 |
-
* @return void|WC_Order Renewal order instance for Subscriptions 2.0+
|
305 |
*/
|
306 |
-
public function subscriptions_set_sequential_order_number( $renewal_order, $original_order
|
307 |
|
308 |
$order_post = get_post( $renewal_order->id );
|
309 |
$this->set_sequential_order_number( $order_post->ID, $order_post );
|
310 |
|
|
|
311 |
if ( self::is_wc_subscriptions_version_gte_2_0() ) {
|
312 |
return $renewal_order;
|
313 |
}
|
@@ -363,19 +365,29 @@ class WC_Seq_Order_Number {
|
|
363 |
* @return string woocommerce version number or null
|
364 |
*/
|
365 |
private static function get_wc_version() {
|
366 |
-
|
367 |
return defined( 'WC_VERSION' ) && WC_VERSION ? WC_VERSION : null;
|
368 |
}
|
369 |
|
370 |
|
371 |
/**
|
372 |
-
* Returns true if the installed version of WooCommerce is 2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
373 |
*
|
374 |
-
* @since 1.
|
375 |
* @return boolean true if the installed version of WooCommerce is 2.3 or greater
|
376 |
*/
|
377 |
-
public static function
|
378 |
-
return self::get_wc_version() && version_compare( self::get_wc_version(), '2.
|
379 |
}
|
380 |
|
381 |
|
@@ -389,9 +401,12 @@ class WC_Seq_Order_Number {
|
|
389 |
|
390 |
// if a plugin defines a minimum WC version, render a notice and skip loading the plugin
|
391 |
if ( defined( 'self::MINIMUM_WC_VERSION' ) && version_compare( self::get_wc_version(), self::MINIMUM_WC_VERSION, '<' ) ) {
|
|
|
392 |
if ( is_admin() && ! defined( 'DOING_AJAX' ) && ! has_action( 'admin_notices', array( $this, 'render_update_notices' ) ) ) {
|
|
|
393 |
add_action( 'admin_notices', array( $this, 'render_update_notices' ) );
|
394 |
}
|
|
|
395 |
return false;
|
396 |
}
|
397 |
|
@@ -408,7 +423,7 @@ class WC_Seq_Order_Number {
|
|
408 |
|
409 |
echo '<div class="error"><p>The following plugin is inactive because it requires a newer version of WooCommerce:</p><ul>';
|
410 |
|
411 |
-
printf( '<li>%s requires WooCommerce %s or newer</li>', 'Sequential Order Numbers', self::MINIMUM_WC_VERSION );
|
412 |
|
413 |
echo '</ul><p>Please <a href="' . admin_url( 'update-core.php' ) . '">update WooCommerce »</a></p></div>';
|
414 |
|
@@ -441,13 +456,16 @@ class WC_Seq_Order_Number {
|
|
441 |
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
442 |
deactivate_plugins( 'woocommerce-sequential-order-numbers/woocommerce-sequential-order-numbers.php' ); // hardcode the plugin path so that we can use symlinks in development
|
443 |
|
|
|
444 |
wp_die( sprintf( __( 'Error activating and installing <strong>WooCommerce Sequential Order Numbers</strong>: %s', 'woocommerce-sequential-order-numbers' ), '<ul><li>' . implode( '</li><li>', $order_ids->get_error_messages() ) . '</li></ul>' ) .
|
445 |
'<a href="' . admin_url( 'plugins.php' ) . '">' . __( '« Go Back', 'woocommerce-sequential-order-numbers' ) . '</a>' );
|
446 |
}
|
447 |
|
448 |
|
449 |
if ( is_array( $order_ids ) ) {
|
|
|
450 |
foreach( $order_ids as $order_id ) {
|
|
|
451 |
if ( '' == get_post_meta( $order_id, '_order_number', true ) ) {
|
452 |
add_post_meta( $order_id, '_order_number', $order_id );
|
453 |
}
|
@@ -477,4 +495,6 @@ class WC_Seq_Order_Number {
|
|
477 |
private function upgrade( $installed_version ) {
|
478 |
// upgrade code goes here
|
479 |
}
|
|
|
|
|
480 |
}
|
5 |
* Description: Provides sequential order numbers for WooCommerce orders
|
6 |
* Author: SkyVerge
|
7 |
* Author URI: http://www.skyverge.com
|
8 |
+
* Version: 1.6.0
|
9 |
* Text Domain: woocommerce-sequential-order-numbers
|
10 |
* Domain Path: /i18n/languages/
|
11 |
*
|
12 |
+
* Copyright: (c) 2012-2016 SkyVerge, Inc. (info@skyverge.com)
|
13 |
*
|
14 |
* License: GNU General Public License v3.0
|
15 |
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
17 |
* @package WC-Sequential-Order-Numbers
|
18 |
* @author SkyVerge
|
19 |
* @category Plugin
|
20 |
+
* @copyright Copyright (c) 2012-2016, SkyVerge, Inc.
|
21 |
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0
|
22 |
*/
|
23 |
|
38 |
class WC_Seq_Order_Number {
|
39 |
|
40 |
/** version number */
|
41 |
+
const VERSION = "1.6.0";
|
42 |
|
43 |
/** version option name */
|
44 |
const VERSION_OPTION_NAME = "woocommerce_seq_order_number_db_version";
|
45 |
|
46 |
/** minimum required wc version */
|
47 |
+
const MINIMUM_WC_VERSION = '2.3';
|
48 |
|
49 |
|
50 |
/**
|
78 |
add_action( 'woocommerce_process_shop_order_meta', array( $this, 'set_sequential_order_number' ), 10, 2 );
|
79 |
|
80 |
// return our custom order number for display
|
81 |
+
add_filter( 'woocommerce_order_number', array( $this, 'get_order_number' ), 10, 2 );
|
82 |
|
83 |
// order tracking page search by order number
|
84 |
add_filter( 'woocommerce_shortcode_order_tracking_order_id', array( $this, 'find_order_by_order_number' ) );
|
87 |
add_filter( 'woocommerce_subscriptions_renewal_order_meta_query', array( $this, 'subscriptions_remove_renewal_order_meta' ), 10, 4 );
|
88 |
|
89 |
if ( self::is_wc_subscriptions_version_gte_2_0() ) {
|
90 |
+
add_filter( 'wcs_renewal_order_created', array( $this, 'subscriptions_set_sequential_order_number' ), 10, 2 );
|
91 |
} else {
|
92 |
+
add_action( 'woocommerce_subscriptions_renewal_order_created', array( $this, 'subscriptions_set_sequential_order_number' ), 10, 2 );
|
93 |
}
|
94 |
|
95 |
if ( is_admin() ) {
|
172 |
global $wpdb;
|
173 |
|
174 |
if ( 'shop_order' == $post->post_type && 'auto-draft' != $post->post_status ) {
|
175 |
+
|
176 |
$order_number = get_post_meta( $post_id, '_order_number', true );
|
177 |
+
|
178 |
if ( "" == $order_number ) {
|
179 |
|
180 |
// attempt the query up to 3 times for a much higher success rate if it fails (due to Deadlock)
|
181 |
$success = false;
|
182 |
for ( $i = 0; $i < 3 && ! $success; $i++ ) {
|
183 |
+
|
184 |
// this seems to me like the safest way to avoid order number clashes
|
185 |
$query = $wpdb->prepare( "
|
186 |
INSERT INTO {$wpdb->postmeta} (post_id, meta_key, meta_value)
|
207 |
public function get_order_number( $order_number, $order ) {
|
208 |
|
209 |
if ( $order->order_number ) {
|
210 |
+
return $order->order_number;
|
211 |
}
|
212 |
|
213 |
return $order_number;
|
225 |
*/
|
226 |
public function woocommerce_custom_shop_order_orderby( $vars ) {
|
227 |
global $typenow, $wp_query;
|
228 |
+
|
229 |
if ( 'shop_order' == $typenow ) {
|
230 |
return $vars;
|
|
|
231 |
}
|
232 |
|
233 |
return $this->custom_orderby( $vars );
|
242 |
* @return array associative array of orderby parameteres
|
243 |
*/
|
244 |
public function custom_orderby( $args ) {
|
245 |
+
|
246 |
// Sorting
|
247 |
if ( isset( $args['orderby'] ) && 'ID' == $args['orderby'] ) {
|
248 |
+
|
249 |
$args = array_merge( $args, array(
|
250 |
'meta_key' => '_order_number', // sort on numerical portion for better results
|
251 |
'orderby' => 'meta_value_num',
|
281 |
* @return string|null WC_Subscriptions version number or null if not found
|
282 |
*/
|
283 |
protected static function get_wc_subscriptions_version() {
|
|
|
284 |
return class_exists( 'WC_Subscriptions' ) && ! empty( WC_Subscriptions::$version ) ? WC_Subscriptions::$version : null;
|
285 |
}
|
286 |
|
292 |
* @return boolean
|
293 |
*/
|
294 |
protected static function is_wc_subscriptions_version_gte_2_0() {
|
|
|
295 |
return self::get_wc_subscriptions_version() && version_compare( self::get_wc_subscriptions_version(), '2.0-beta-1', '>=' );
|
296 |
}
|
297 |
|
301 |
*
|
302 |
* @since 1.3
|
303 |
* @param WC_Order $renewal_order the new renewal order object
|
304 |
+
* @param WC_Order $original_order the original order object (Subscriptions 2.0+: Subscription object)
|
305 |
+
* @return void|WC_Order Void for Subscriptions 1.5, renewal order instance for Subscriptions 2.0+
|
|
|
|
|
306 |
*/
|
307 |
+
public function subscriptions_set_sequential_order_number( $renewal_order, $original_order ) {
|
308 |
|
309 |
$order_post = get_post( $renewal_order->id );
|
310 |
$this->set_sequential_order_number( $order_post->ID, $order_post );
|
311 |
|
312 |
+
// after 2.0 this callback needs to return the renewal order
|
313 |
if ( self::is_wc_subscriptions_version_gte_2_0() ) {
|
314 |
return $renewal_order;
|
315 |
}
|
365 |
* @return string woocommerce version number or null
|
366 |
*/
|
367 |
private static function get_wc_version() {
|
|
|
368 |
return defined( 'WC_VERSION' ) && WC_VERSION ? WC_VERSION : null;
|
369 |
}
|
370 |
|
371 |
|
372 |
/**
|
373 |
+
* Returns true if the installed version of WooCommerce is 2.4 or greater
|
374 |
+
*
|
375 |
+
* @since 1.6.0
|
376 |
+
* @return boolean true if the installed version of WooCommerce is 2.3 or greater
|
377 |
+
*/
|
378 |
+
public static function is_wc_version_gte_2_4() {
|
379 |
+
return self::get_wc_version() && version_compare( self::get_wc_version(), '2.4', '>=' );
|
380 |
+
}
|
381 |
+
|
382 |
+
|
383 |
+
/**
|
384 |
+
* Returns true if the installed version of WooCommerce is 2.5 or greater
|
385 |
*
|
386 |
+
* @since 1.6.0
|
387 |
* @return boolean true if the installed version of WooCommerce is 2.3 or greater
|
388 |
*/
|
389 |
+
public static function is_wc_version_gte_2_5() {
|
390 |
+
return self::get_wc_version() && version_compare( self::get_wc_version(), '2.5', '>=' );
|
391 |
}
|
392 |
|
393 |
|
401 |
|
402 |
// if a plugin defines a minimum WC version, render a notice and skip loading the plugin
|
403 |
if ( defined( 'self::MINIMUM_WC_VERSION' ) && version_compare( self::get_wc_version(), self::MINIMUM_WC_VERSION, '<' ) ) {
|
404 |
+
|
405 |
if ( is_admin() && ! defined( 'DOING_AJAX' ) && ! has_action( 'admin_notices', array( $this, 'render_update_notices' ) ) ) {
|
406 |
+
|
407 |
add_action( 'admin_notices', array( $this, 'render_update_notices' ) );
|
408 |
}
|
409 |
+
|
410 |
return false;
|
411 |
}
|
412 |
|
423 |
|
424 |
echo '<div class="error"><p>The following plugin is inactive because it requires a newer version of WooCommerce:</p><ul>';
|
425 |
|
426 |
+
printf( '<li>%1$s requires WooCommerce %2$s or newer</li>', 'Sequential Order Numbers', self::MINIMUM_WC_VERSION );
|
427 |
|
428 |
echo '</ul><p>Please <a href="' . admin_url( 'update-core.php' ) . '">update WooCommerce »</a></p></div>';
|
429 |
|
456 |
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
457 |
deactivate_plugins( 'woocommerce-sequential-order-numbers/woocommerce-sequential-order-numbers.php' ); // hardcode the plugin path so that we can use symlinks in development
|
458 |
|
459 |
+
// Translators: %s - error message(s)
|
460 |
wp_die( sprintf( __( 'Error activating and installing <strong>WooCommerce Sequential Order Numbers</strong>: %s', 'woocommerce-sequential-order-numbers' ), '<ul><li>' . implode( '</li><li>', $order_ids->get_error_messages() ) . '</li></ul>' ) .
|
461 |
'<a href="' . admin_url( 'plugins.php' ) . '">' . __( '« Go Back', 'woocommerce-sequential-order-numbers' ) . '</a>' );
|
462 |
}
|
463 |
|
464 |
|
465 |
if ( is_array( $order_ids ) ) {
|
466 |
+
|
467 |
foreach( $order_ids as $order_id ) {
|
468 |
+
|
469 |
if ( '' == get_post_meta( $order_id, '_order_number', true ) ) {
|
470 |
add_post_meta( $order_id, '_order_number', $order_id );
|
471 |
}
|
495 |
private function upgrade( $installed_version ) {
|
496 |
// upgrade code goes here
|
497 |
}
|
498 |
+
|
499 |
+
|
500 |
}
|