Skip to content

Commit

Permalink
Merge pull request #168 from kimcoleman/reverse-coupon-queries-to-get…
Browse files Browse the repository at this point in the history
…-latest

Improving coupon code queries
  • Loading branch information
dparker1005 authored Jan 25, 2024
2 parents cdaadf6 + 5bad699 commit 22ac50a
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 5 deletions.
7 changes: 6 additions & 1 deletion modules/ecommerce/edd/class-swsales-module-edd.php
Original file line number Diff line number Diff line change
Expand Up @@ -94,13 +94,18 @@ public static function add_choose_coupon( $cur_sale ) {
<?php
} else {

//Compatible with EDD 2.9 and 3.0
// Get the latest active coupons.
$code_limit = apply_filters( 'swsales_edd_discount_code_limit', 5000 );
$code_limit = intval( $code_limit );
$coupons = edd_get_discounts(
array(
'fields' => array( 'id', 'code'),
'status' => 'active',
'number' => $code_limit,
'order' => 'DESC',
)
);

$current_coupon = intval( $cur_sale->get_meta_value( 'swsales_edd_coupon_id', null ) );
?>
<th><label for="swsales_edd_coupon_id"><?php esc_html_e( 'Discount Code', 'sitewide-sales' );?></label></th>
Expand Down
13 changes: 11 additions & 2 deletions modules/ecommerce/pmpro/class-swsales-module-pmpro.php
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,17 @@ public static function add_choose_discount_code( $cur_sale ) {
} else {
global $wpdb;

// Query the database for the discount codes.
$codes = $wpdb->get_results( "SELECT * FROM $wpdb->pmpro_discount_codes", OBJECT );
// Query the database for the latest discount codes.
$code_limit = apply_filters( 'swsales_pmpro_discount_code_limit', 5000 );
$code_limit = intval( $code_limit );
$codes = $wpdb->get_results( $wpdb->prepare(
"SELECT *
FROM $wpdb->pmpro_discount_codes
ORDER BY id DESC
LIMIT %d",
$code_limit ),
OBJECT
);

// Get the discount code (if set) for the sale.
$current_discount = $cur_sale->get_meta_value( 'swsales_pmpro_discount_code_id', null );
Expand Down
13 changes: 11 additions & 2 deletions modules/ecommerce/wc/class-swsales-module-wc.php
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,18 @@ public static function add_choose_coupon( $cur_sale ) {
} else {
global $wpdb;

// Query the database for the coupons and only retrieve ID and post_title (coupon name).
// Query the database for the latest coupons and only retrieve ID and post_title (coupon name).
$coupon_limit = apply_filters( 'swsales_wc_coupon_limit', 5000 );
$coupons = $wpdb->get_results( $wpdb->prepare( "SELECT ID, post_title FROM $wpdb->posts WHERE post_type = 'shop_coupon' AND post_status = 'publish' LIMIT %d", $coupon_limit ), OBJECT );
$coupon_limit = intval( $coupon_limit );
$coupons = $wpdb->get_results( $wpdb->prepare(
"SELECT ID, post_title
FROM $wpdb->posts
WHERE post_type = 'shop_coupon' AND post_status = 'publish'
ORDER BY ID DESC
LIMIT %d",
$coupon_limit ),
OBJECT
);

// Get the current coupon (if set) for the sale.
$current_coupon = intval( $cur_sale->get_meta_value( 'swsales_wc_coupon_id', null ) );
Expand Down

0 comments on commit 22ac50a

Please sign in to comment.