Custom Separator

function getSeparator() { return window.location.href.includes(‘?’) ? ‘&’ : ‘?’; } document.addEventListener(‘om.Dtr.init’, function (event) { const separator = getSeparator(); event.detail.Dtr.setCustomVariable(‘separator’, separator); });Continue reading

MemberPress: Generate All Invoices for the Specific Period (e.g. A Year)

function generate_bulk_invoices() { if(isset($_REQUEST[‘generate-invoices’])) { global $wpdb; $query = “SELECT id FROM {$wpdb->prefix}mepr_transactions WHERE created_at > ‘2025-01-01 00:00:00’ AND created_at < '2025-12-31 23:59:59' AND status IN ('complete', 'confirmed', 'refunded')"; $txn_ids = $wpdb->get_results($query); foreach($txn_ids as $txn_id) { $invoices = new MePdfInvoicesCtrl();…Continue reading

MemberPress: Add the Invoice Number to the Transactions Screen

add_filter(‘mepr-admin-transactions-cols’, function ($cols) { $cols[‘col_txn_invoice’] = __(‘Invoice No.’, ‘memberpress-pdf-invoice’); return $cols; }); add_action(‘mepr-admin-transactions-cell’, function ($column_name, $rec, $attributes) { if ($column_name === ‘col_txn_invoice’) { ?>Continue reading

MemberPress: Add Custom Field Date to Members Table

function custom_admin_members_col($cols) { $cols[‘business_name’] = __(‘Business Name’, ‘memberpress’); // Replace the business_name with the name of the actual custom field key & replace the dummy Business Name text with the name of the actual custom field return $cols; } add_filter(‘mepr-admin-members-cols’,…Continue reading

MemberPress: Disable MemberPress Protection On Specific Page

add_filter(‘mepr-pre-run-rule-content’, ‘mepr_override_content_protection’, 11, 3); function mepr_override_content_protection($protect, $post, $uri) { // Unprotect posts with the specified page slug or ID if ( is_page( ‘your-page’ ) || is_page( 123 ) ) { $protect = false; // Disable protection for the specified page…Continue reading

MemberPress: Disable MemberPress Protection Based on Custom Post Type And Tag

add_filter(‘mepr-pre-run-rule-content’, ‘mepr_override_content_protection’, 11, 3); function mepr_override_content_protection($protect, $post, $uri) { // Unprotect posts that belong to a specific custom post type (mpcs-lesson), with the “free” tag if (‘mpcs-lesson’ === get_post_type($post->ID) && has_tag(‘free’, $post)) { $protect = false; // Disable protection for…Continue reading

MemberPress: Disable MemberPress Protection On Posts with Specific Tags

add_filter(‘mepr-pre-run-rule-content’, ‘mepr_override_content_protection’, 11, 3); function mepr_override_content_protection($protect, $post, $uri) { // Unprotect posts with the “free” tag and if you want to add more than one tag just add (, ‘tag’) if (has_tag(array(‘free’), $post)) { $protect = false; // Disable protection…Continue reading

Sample Email Template Tag (copy)

/** * Register a custom email tag for the file name. * * @return void */ function prefix_add_file_name_email_tag() { edd_add_email_tag( ‘file_name’, // Tag ‘Displays the file name of the purchased download file.’, // Description ‘prefix_render_file_name_email_tag’, // Callback function ‘File Name’,…Continue reading