Tag: automation
MemebrPress: Send Membership-Specific Welcome Email Only When Transaction Is Completed
function send_welcome_email_on_transaction_completed($event) { $txn = $event->get_data(); // Get the transaction data $usr = $txn->user(); // Get the user associated with the transaction MeprUtils::maybe_send_product_welcome_notices($txn, $usr); // Send the membership-specific welcome email } add_action(‘mepr_event_transaction_completed’, ‘send_welcome_email_on_transaction_completed’);Continue reading
MemberPress: Allow Users to Pause/Resume Subscriptions Only for Specific Memberships
function maybe_hide_pause_resume_links( $link, $sub ) { // Replace 123, 456 with the membership IDs which members can pause/resume subscriptions for. $products_to_allow = array( ‘123’, ‘456’ ); $product = $sub->product(); if( in_array( $product->ID, $products_to_allow ) ) { return $link; } else…Continue reading
MemberPress: BuddyPress/BuddyBoss – Remove Users From All Groups, Forums, and Topics if Their Subscriptions Expire
add_action( ‘mepr_account_is_inactive’ , function ( $txn ) { if ( is_plugin_active( ‘buddypress/bp-loader.php’ ) && $txn instanceof MeprTransaction) { //first we need to make sure that the user isn’t active on another subscription $mepr_user = new MeprUser( $txn->user_id ); if (…Continue reading
MemberPress: Delete Transaction and User Account When Sub-Account is Removed
add_action(‘mpca_remove_sub_account’, function($transaction_id) { $txn = new MeprTransaction($transaction_id); $user_id = $txn->user_id; // Get MeprUser object for the user $user = new MeprUser($user_id); // Get all subscriptions for the user $active_subs = $user->active_product_subscriptions(‘ids’, true); // Get active subscription IDs // Check if…Continue reading
MemberPress: TaxJar – Prevent Sending VAT Transactions to TaxJar
function mepr_cust_no_vat_to_taxjar( $should_send, $event ) { $transaction = $event->get_data(); if ( strpos( $transaction->tax_desc, __( ‘VAT’, ‘memberpress’ ) ) !== false ) { $should_send = false; } return $should_send; } add_filter( ‘mepr_taxjar_should_send_txn’, ‘mepr_cust_no_vat_to_taxjar’, 10, 2 );Continue reading
MemberPress: Change the Member’s User Role After a Specific Membership Subscription Cancelation
add_action(‘mepr_event_subscription_stopped’, function($event) { $subscription = $event->get_data(); if(123 != (int) $subscription->product_id) { return; } $user = $subscription->user(); $wp_user = get_user_by(‘id’, $user->ID); if(!$wp_user) { return; } // Remove role $wp_user->remove_role( ‘subscriber’ ); // Add role $wp_user->add_role( ‘editor’ ); });Continue reading
Auto SKU to products sanitize check dupes by initial of POST word if composite word or 1st 3 letters fom single word POST
add_action(‘init’, function () { if (!is_admin()) return; // STOP if SKUs were already generated if (get_option(‘auto_sku_generated’) === ‘yes’) return; // ✅ Immediately mark it done to prevent infinite loops update_option(‘auto_sku_generated’, ‘yes’); // Fetch all published WooCommerce products $args = array(…Continue reading
MemberPress: Change the Member’s User Role After Subscription Cancellation
add_action(‘mepr_event_subscription_stopped’, function($event) { $subscription = $event->get_data(); $user = $subscription->user(); $wp_user = get_user_by(‘id’, $user->ID); if(!$wp_user) { return; } // Remove role $wp_user->remove_role( ‘subscriber’ ); // Add role $wp_user->add_role( ‘editor’ ); });Continue reading
MemberPress: Auto Approve Sub-Accounts with New User Approve Plugin
function mepr_newuser_approve_override($user_id) { // Define an array of membership IDs for which the verification step should be skipped. $auto_approve = array(123, 456, 789); if(!class_exists(‘MeprOptions’)) { return; } if(!isset($_POST[‘mepr_product_id’]) && !isset($_POST[‘manage_sub_accounts_form’])) { return $user_id; } $product_id = isset($_POST[‘mepr_product_id’])?$_POST[‘mepr_product_id’]:false; if(isset($_POST[‘manage_sub_accounts_form’]) || ($product_id…Continue reading