Skip to content

Instantly share code, notes, and snippets.

View JarrydLong's full-sized avatar

Jarryd Long JarrydLong

  • Paid Memberships Pro
  • South Africa
  • 23:09 (UTC +02:00)
  • X @jarrydlong
View GitHub Profile
@JarrydLong
JarrydLong / my_pmpro_always_show_renew_levels.php
Created July 5, 2024 12:20 — forked from MaryOJob/my_pmpro_always_show_renew_levels.php
Always show renew links for certain PMPro levels if the member already has that level.
<?php // do not copy this line
/*
* This recipe would always show the renew link on the membership account page for the specified levels on line 13
* Add the below code to your PMPro Customizations Plugin:
* https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
*/
// always show renew links for certain levels if the member already has that level.
//Changes default content
function mypmpro_change_user_pages_content($postdata, $user, $level){
$postdata['post_content'] = 'My Content Here';
return $postdata;
}
add_filter('pmpro_user_page_postdata', 'mypmpro_change_user_pages_content', 10, 3);
@JarrydLong
JarrydLong / pmpro-payment-plan-select-plan-query-param.php
Last active June 28, 2024 13:49 — forked from andrewlimaza/pmpro-payment-plan-select-plan-query-param.php
Select Paid Memberships Pro Payment Plan via query parameter
<?php
/**
* Add &pmpropp_chosen_plan=<<plan_id>> in the URL to preselect the payment plan option.
* Add this code to your site by following this guide - https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
*/
function my_pmpro_payment_plan_select_url() {
// Only load this on the checkout page.
if ( function_exists('pmpro_is_checkout') && !pmpro_is_checkout() ) {
return;
}
<?php //do not copy
function mypmpro_redirect_away_from_wc_endpoint(){
$current_endpoint = WC()->query->get_current_endpoint();
if($current_endpoint == "downloads" ) {
$user = wp_get_current_user();
<?php //do not copy
/**
* This recipe can either be run by adding /wp-admin/?cleanup=1 to your URL
* Or add the mypmpro_cleanup_spam_users function as a callback to a cron using WP Crontrol
*
* USE AT YOUR OWN RISK - Bulk deleting user data is irreversible and can result in active memberships
* and subscriptions being cancelled.
*
* Add this code to your PMPro Customizations Plugin - https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
<?php //do not copy
function my_pmpro_user_page_purchase_postdata_content($postdata, $user, $level){
if( $level->ID == 1 || $level->ID == 3 ) {
//Horizon
$postdata['post_content'] = 'THIS IS HORIZON';
} else if( $level->ID == 2 || $level->ID == 4 ) {
//Galaxy
<?php //do not copy
function mypmpro_remove_level_will_be_removed_text($translated_text, $text, $domain) {
if( $domain == "paid-memberships-pro" ) {
if( $text == "Your current membership level of %s will be removed when you complete your purchase." ) {
$translated_text = "";
}
}
@JarrydLong
JarrydLong / add-tax-pmpro-emails.php
Last active March 13, 2024 10:00 — forked from kimwhite/add-tax-pmpro-emails.php
Email Variable Add !!tax!! and !!subtotal!! variable for Paid Memberships Pro email templates
<?php
/**
* Adds an email variable !!tax!! to Paid Memberships Pro emails.
* Only works for email templates that has the !!invoice_id!! variable available.
* Use the Email Templates Admin Editor to add !!tax!! to your email templates.
* Follow this guide to add this code to your site: https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
*
* Difficulty: Easy
*/
function my_pmpro_email_variable( $data, $email ) {
@JarrydLong
JarrydLong / my_pmpro_not_logged_in_text_filter.php
Last active January 22, 2024 11:48 — forked from strangerstudios/my_pmpro_not_logged_in_text_filter.php
Filter the teaser message text for a not logged in site visitor
<?php //do not copy
function my_pmpro_not_logged_in_text_filter($text){
$text = '<h4>Account Information</h4><p>Enter account details or, if you’re already a user, <a href="/login?redirect_to=' . urlencode($_SERVER['REQUEST_URI']) . '">login here.</a></p>';
return $text;
}
add_filter("pmpro_not_logged_in_text_filter", "my_pmpro_not_logged_in_text_filter", 5);
@JarrydLong
JarrydLong / pmpro-approvals-login-example.php
Last active January 17, 2024 04:46 — forked from andrewlimaza/pmpro-approvals-login-example.php
Stop non-approved users from logging in.
<?php
/**
* This is an example to stop non-approved user's from logging in using the Approvals Add On For Paid Memberships Pro.
* Add this code below to your PMPro Customizations Plugin - https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
*/
function my_pmpro_stop_users_logging_in( $user, $password ) {
$user_id = $user->ID;