Skip to content

Instantly share code, notes, and snippets.

Jason Coleman ideadude

Block or report user

Report or block ideadude

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@ideadude
ideadude / my_send_pmpro_confirmation_emails_from_dashboard.php
Last active Oct 12, 2019
Always send the checkout_free confirmation email in PMPro when changing a user's level in the admin dashboard.
View my_send_pmpro_confirmation_emails_from_dashboard.php
/**
* Always send the checkout_free confirmation email
* when changing a user's level in the admin dashboard.
*/
function my_send_pmpro_confirmation_emails_from_dashboard( $level_id, $user_id, $cancel_level_id ) {
// If we're not in the dashboard, this is probably a checkout on the frontend
if ( ! is_admin() ) {
return;
}
@ideadude
ideadude / alternative_loadStripeLibrary.php
Created Oct 9, 2019
Alternative loadStripeLibrary() method for the Stripe gateway class in PMPro. Used for debugging.
View alternative_loadStripeLibrary.php
/**
* Alternative loadStripeLibrary() method that will die and output
* the location of the file that previously loaded a different version
* of the Stripe API library.
*
* THIS CODE IS FOR DEBUGGING PURPOSES ONLY
*
* Find the loadStripeLibrary() method of classes/gateways/class.pmprogateway_stripe.php
* and replace with this version. Then attempt to checkout and take note.
*/
@ideadude
ideadude / my_load_pmpro_stripe_library_early.php
Created Oct 9, 2019
Load the PMPro Stripe Library Earlier
View my_load_pmpro_stripe_library_early.php
/**
* Load the PMPro Stripe Library Earlier
* Works with PMPro v2.1+
* Use this if you are experiencing errors like Stripe/PaymentMethod not found
* or other errors that might be caused by another Stripe Library loading earlier.
*
* This is not meant as a final solution.
* With this coded enabled, you may notice other Stripe-related plugins breaking.
* When you find the other plugin that is affecting things, you can see if
* that plugin is needed or if there is an update.
@ideadude
ideadude / my_disable_pmpro_cpt_redirect.php
Created Oct 3, 2019
Disable the PMPro CPT redirect for non-members.
View my_disable_pmpro_cpt_redirect.php
/**
* Disable the PMPro CPT redirect for non-members.
* The PMPro the_content filters will still run,
* but might not be adequate to protect some CPTs.
*/
function my_disable_pmpro_cpt_redirect() {
remove_action( 'template_redirect', 'pmprocpt_template_redirect' );
}
add_action( 'init', 'my_disable_pmpro_cpt_redirect' );
@ideadude
ideadude / my_icheck_radio_button_fix.php
Last active Jul 26, 2019
Get iCheck checkboxes to work with PMPro Add PayPal Express
View my_icheck_radio_button_fix.php
/**
* Fix iCheck radio buttons with PMPro Add PayPal Express and other
* tweaks that add radio buttons to checkout.
* Add this code into a snippet or customization plugin.
*/
function my_icheck_radio_button_fix() {
?>
<script>
jQuery(window).load(function() {
//click our radio button when icheck is clicked
@ideadude
ideadude / my_init_override_sponsored_members_pricing_update.php
Last active Jul 26, 2019
PMPro Sponsored Members Example with custom callback to override seat pricing.
View my_init_override_sponsored_members_pricing_update.php
/**
* Sponsored Members setup with child seat costs and child fields at checkout.
*/
global $pmprosm_sponsored_account_levels;
$pmprosm_sponsored_account_levels = array(
1 => array(
'main_level_id' => 1,
'sponsored_level_id' => 2,
'seat_cost' => 35,
'min_seats' => 1,
@ideadude
ideadude / my_pmproec_after_validate_user.php
Last active Jul 4, 2019 — forked from strangerstudios/my_pmproec_after_validate_user.php
Redirect to the membership account page instead of the home page after email validation with the PMPro Email Confirmation add on.
View my_pmproec_after_validate_user.php
/**
* Redirect to the membership account page instead of the home page after email validation with the PMPro Email Confirmation add on.
* Add this code to a custom WordPress plugin. https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
*/
function my_pmproec_after_validate_user() {
if( is_user_logged_in() ) {
wp_safe_redirect( '/membership-account/' );
} else {
wp_safe_redirect( wp_login_url( '/membership-account/' ) );
}
@ideadude
ideadude / my_redirect_to_last_post_id.php
Last active Jun 19, 2019
On WordPress login, redirect to the last post you were viewing.
View my_redirect_to_last_post_id.php
/**
* On login, redirect to the last post viewed.
* Add this code into a custom plugin.
* Note that many themes and plugins hook into login_redirect.
* Whichever hook has the highest priority will be the last call
* on where to redirect. The priority below is set to 20.
* Note also that some URLs/pages may note be "posts"
* and may not have an ID we can track.
* Note also that some pages are excluded. You may want to exclude other pages.
* Note also that this may override any specific redirect_to passed in
@ideadude
ideadude / tids_transaction_ids.php
Created Jun 5, 2019 — forked from strangerstudios/tids_transaction_ids.php
Show and Search By Payment/Subscription Transaction IDs with Paid Memberships Pro
View tids_transaction_ids.php
<?php
/*
Payment/Subscription Transaction IDs Code
Add to your active theme's functions.php or a custom plugin.
*/
//Add Transaction IDs to Members List
function tids_pmpro_memberslist_extra_cols_header($theusers)
{
?>
@ideadude
ideadude / my_pmpro_forward_ipn.php
Created May 4, 2019
Forward PMPro PayPal IPNs to another domain
View my_pmpro_forward_ipn.php
/**
* Forward PMPro PayPal IPNs to another domain.
* Each domain will process the IPNs. The IPN handlers should be setup to ignore
* messages that aren't for that site. PMPro does this.
* This is useful if you have 2 different sites using the same PayPal account
* and the IPN is setup to go to a PMPro site.
* Add this to a custom plugin on the PMPro site the IPN hits.
* Update the domain/url to the IPN you want to forward to.
* The pmprodev_gateway_debug_setup check makes sure this DOESN'T run if you have the
* PMPro Toolkit plugin enabled, i.e. you are on a staging site.
You can’t perform that action at this time.