Plugin Directory

Changeset 1401707


Ignore:
Timestamp:
04/22/2016 12:01:19 AM (10 years ago)
Author:
opentools
Message:

V1.3.3: Fix order tracking, add trigger to return orderID given number

  • Order tracking assumed the user entered the order ID => implement filter to convert the entered order number into the corresponding ID
  • Added trigger woocommerce_order_id_from_number(ordernumber) that returns the order ID if found (if not found, returns ordernumber unchanged)
Location:
woocommerce-basic-ordernumbers
Files:
3 edited
14 copied

Legend:

Unmodified
Added
Removed
  • woocommerce-basic-ordernumbers/tags/1.3.3/ordernumbers_woocommerce_basic.php

    r1360883 r1401707  
    9898        add_filter ('woocommerce_order_number',                 array( &$this, 'get_ordernumber'), 10, 2/*<= Also get the order object! */);
    9999       
     100        // Reverse searching (given the order number, return the order_id):
     101        add_filter( 'woocommerce_shortcode_order_tracking_order_id',    array( &$this, 'get_order_id_from_number' ) );
     102        add_filter( 'woocommerce_order_id_from_number',                 array( &$this, 'get_order_id_from_number' ) );
    100103    }
    101104   
     
    392395        }
    393396    }
     397   
     398    public function get_order_id_from_number($ordernumber) {
     399        global $wpdb;
     400        $meta = $wpdb->get_results("SELECT * FROM `".$wpdb->postmeta."` WHERE meta_key='".esc_sql($this->ordernumber_meta.'ordernumber')."' AND meta_value='".esc_sql($ordernumber)."'");
     401        if (is_array($meta) && !empty($meta) && isset($meta[0])) {
     402            $meta = $meta[0];
     403        }
     404        if (is_object($meta)) {
     405            return $meta->post_id;
     406        } else {
     407            return ordernumber;
     408        }
     409    }
     410
    394411
    395412    /**
  • woocommerce-basic-ordernumbers/tags/1.3.3/readme.txt

    r1397776 r1401707  
    55Requires at least: 4.0
    66Tested up to: 4.5
    7 Stable tag: 1.3.2
     7Stable tag: 1.3.3
    88License: GPLv3 or later
    99License URI: http://www.gnu.org/licenses/gpl.html
     
    7979== Changelog ==
    8080
     81= 1.3.3 =
     82* Fix issue with order tracking (which assumed order IDs were entered)
     83* Add filter woocommerce_order_id_from_number(ordernumber) that returns the order ID given the order number
     84
    8185= 1.2.2 =
    8286* Fix problem in the advanced version that no counters were shown in the counter modification table
  • woocommerce-basic-ordernumbers/tags/1.3.3/woocommerce-basic-ordernumbers.php

    r1397776 r1401707  
    44 * Plugin URI: http://open-tools.net/woocommerce/advanced-ordernumbers-for-woocommerce.html
    55 * Description: Configure WooCommerce ordernumbers to have a running counter and arbitrary, fixed text (prefix / postfix).
    6  * Version: 1.3.2
     6 * Version: 1.3.3
    77 * Author: Open Tools
    88 * Author URI: http://open-tools.net
  • woocommerce-basic-ordernumbers/trunk/ordernumbers_woocommerce_basic.php

    r1360883 r1401707  
    9898        add_filter ('woocommerce_order_number',                 array( &$this, 'get_ordernumber'), 10, 2/*<= Also get the order object! */);
    9999       
     100        // Reverse searching (given the order number, return the order_id):
     101        add_filter( 'woocommerce_shortcode_order_tracking_order_id',    array( &$this, 'get_order_id_from_number' ) );
     102        add_filter( 'woocommerce_order_id_from_number',                 array( &$this, 'get_order_id_from_number' ) );
    100103    }
    101104   
     
    392395        }
    393396    }
     397   
     398    public function get_order_id_from_number($ordernumber) {
     399        global $wpdb;
     400        $meta = $wpdb->get_results("SELECT * FROM `".$wpdb->postmeta."` WHERE meta_key='".esc_sql($this->ordernumber_meta.'ordernumber')."' AND meta_value='".esc_sql($ordernumber)."'");
     401        if (is_array($meta) && !empty($meta) && isset($meta[0])) {
     402            $meta = $meta[0];
     403        }
     404        if (is_object($meta)) {
     405            return $meta->post_id;
     406        } else {
     407            return ordernumber;
     408        }
     409    }
     410
    394411
    395412    /**
  • woocommerce-basic-ordernumbers/trunk/readme.txt

    r1397776 r1401707  
    55Requires at least: 4.0
    66Tested up to: 4.5
    7 Stable tag: 1.3.2
     7Stable tag: 1.3.3
    88License: GPLv3 or later
    99License URI: http://www.gnu.org/licenses/gpl.html
     
    7979== Changelog ==
    8080
     81= 1.3.3 =
     82* Fix issue with order tracking (which assumed order IDs were entered)
     83* Add filter woocommerce_order_id_from_number(ordernumber) that returns the order ID given the order number
     84
    8185= 1.2.2 =
    8286* Fix problem in the advanced version that no counters were shown in the counter modification table
  • woocommerce-basic-ordernumbers/trunk/woocommerce-basic-ordernumbers.php

    r1397776 r1401707  
    44 * Plugin URI: http://open-tools.net/woocommerce/advanced-ordernumbers-for-woocommerce.html
    55 * Description: Configure WooCommerce ordernumbers to have a running counter and arbitrary, fixed text (prefix / postfix).
    6  * Version: 1.3.2
     6 * Version: 1.3.3
    77 * Author: Open Tools
    88 * Author URI: http://open-tools.net
Note: See TracChangeset for help on using the changeset viewer.