Last active
December 21, 2015 18:39
-
-
Save ebinnion/6348690 to your computer and use it in GitHub Desktop.
This is a fully functioning WordPress plugin for Easy Digital Downloads that we use to allow users to choose between year or lifetime licenses. This assumes you are selling a singular product.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
* Plugin Name: EDD License Filter | |
* Description: Allows us to change license lengths based on pricing options. | |
* Author: Eric Binnion | |
* Version: 0.1 | |
*/ | |
// This snippet adapted from https://easydigitaldownloads.com/docs/changing-license-expiration-length/ | |
function pw_edd_license_length( $length, $payment_id, $download_id, $license_id ) { | |
// Gets information for payment | |
$payment = edd_get_payment_meta_cart_details($payment_id); | |
// Returns string representation of array when license created and emails it to admin. | |
// Uncomment to see what data structure looks like. | |
// wp_mail( get_option('admin_email'), 'Payment Dump', print_r($payment, true) ); | |
// Data structure for my test looks like this | |
// Array | |
// ( | |
// [0] => Array | |
// ( | |
// [name] => Engage | |
// [id] => 39 | |
// [item_number] => Array | |
// ( | |
// [id] => 39 | |
// [options] => Array | |
// ( | |
// [price_id] => 1 | |
// ) | |
// ) | |
// [price] => 37.00 | |
// [quantity] => 1 | |
// ) | |
// ) | |
if ( $payment[0]['name'] == 'Engage' && $payment[0]['price'] == '37.00'){ | |
// For lifetime license, let's add 20 years. | |
// If product is still in sale in 20 years, let's pat ourselves on the back! | |
return '+20 year'; | |
} | |
// This is the standard | |
return '+1 year'; | |
} | |
add_filter( 'edd_sl_license_exp_length', 'pw_edd_license_length', 10, 4 ); | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment