MemberPress: Allow Importing Coupons Associated With Affiliates (Easy Affiliate)

function mpimp_load_expanded_coupon_importer() { global $mpimp; $mpimp->importers[‘couponaffiliate’] = ‘MpimpExtendedCouponsImporter’; } add_action(‘admin_init’, ‘mpimp_load_expanded_coupon_importer’, 110); //has to be after the MP hook function runs class MpimpExtendedCouponsImporter extends MpimpCouponsImporter { public function form() { } public function import($row,$args) { $ea_active = is_plugin_active(‘easy-affiliate/easy-affiliate.php’) ? true…Continue reading

MemberPress: Display Current User’s Memberships Statuses

function mp_membership_status() { if (!is_user_logged_in()) { return ‘You need to be logged in to view this information.’; } global $wpdb; $user_id = get_current_user_id(); // Query to get all active MemberPress transactions for the current user $transactions = $wpdb->get_results($wpdb->prepare( “SELECT txn.*,…Continue reading

MemberPress: Disable Reminders if a Member has Any Active Subscription

add_filter(‘mepr_sub_expires_reminder_disable’, ‘mepr_disable_reminders’, 10, 4); add_filter(‘mepr_sub_renews_reminder_disable’, ‘mepr_disable_reminders’, 10, 4); add_filter(‘mepr_signup_abandoned_reminder_disable’, ‘mepr_disable_reminders’, 10, 4); add_filter(‘mepr_member_signup_reminder_disable’, ‘mepr_disable_reminders’, 10, 4); function mepr_disable_reminders($disable_email, $reminder, $usr, $prd) { $active_product_subscriptions = $usr->active_product_subscriptions(‘ids’); // Disable reminders if member has any active subscription. if(!empty($active_product_subscriptions)) { $disable_email = true; }…Continue reading

MemberPress: Dynamic Trial Periods

//Sets up a trial period on MemberPress such that ALL users renew on March 31st. function mepr_days_until($date){ return (isset($date)) ? floor((strtotime($date) – time())/60/60/24) : false; } function mepr_update_mepr_trial_period() { $prd = new MeprProduct(123); //CHANGE 123 to the ID of your…Continue reading

MemberPress: Import Dropdown Options for Custom Fields

function mepr_cust_import_options() { if( isset( $_REQUEST[‘import-options’] ) ) { // For this code snippet to work, a custom dropdown field must be created at Dashboard > MemberPress > Settings > Fields tab. $mepr_options = MeprOptions::fetch( true ); $key = ‘mepr_custom_dropdown’;…Continue reading

MemberPress: Redirect To Specific Page Based on Rule

function mepr_redirect_specific_page( $redirect_url, $delim, $uri ) { $current_post = MeprUtils::get_current_post(); $rules = MeprRule::get_rules( $current_post ); if ( !empty( $rules ) ) { $rule_ids = array_column( $rules, ‘ID’ ); if ( in_array( 123, $rule_ids ) ) { $redirect_url = ‘https://yourdomain.com/register/membership-1/’; }…Continue reading

MemberPress: Whitelist Domains

function mepr_custom_is_domain_whitelisted() { $whitelist = array( “domain.com, domain1.com” ); //comma-separated list of domains $domain = parse_url( $_SERVER[ ‘HTTP_REFERER’ ], PHP_URL_HOST ); if ( !empty($domain ) && in_array( $domain, $whitelist ) ) { return true; //Exclude from paywall } return false;…Continue reading

MemberPress: Bulk Delete All Expired Subscriptions

function mepr_delete_expired_txns() { $subscriptions = MeprSubscription::get_all(); if( is_array( $subscriptions ) && !empty( $subscriptions ) ) { foreach( $subscriptions as $subscription ) { $subscription = new MeprSubscription( $subscription->id ); if( $subscription->is_cancelled() && $subscription->is_expired() ) { $subscription->destroy(); } } } } add_action(…Continue reading