Skip to content

Instantly share code, notes, and snippets.

View davidmutero's full-sized avatar

David Mutero davidmutero

View GitHub Profile
@davidmutero
davidmutero / my-pmpro-move-user-field-group-after-billing.php
Last active May 2, 2025 08:55 — forked from dparker1005/my_pmpro_move_billing_fields.php
Move a User Field Group Below the Billing Address on PMPro Checkout
<?php
/**
* Move a specific user field group (e.g. Company Info) below the Billing Address on PMPro Checkout.
*
* This uses JavaScript to reposition any fieldset by targeting its ID.
* Update the `$fieldset_id` value to match the fieldset you want to move.
*
* You can add this recipe to your site by creating a custom plugin
* or using the Code Snippets plugin available for free in the WordPress repository.
* https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
@davidmutero
davidmutero / pmpro-redirect-to-specific-user-page.php
Last active April 23, 2025 13:22 — forked from ipokkel/pmpro-redirect-to-user-page.php
Plugin to work with PMPro and PMPro User Pages to redirect someone to their specific (with URL) user page on login
<?php
/**
* This recipe redirects members to their Specific (with URL) User Page on login
* and non-members to the PMPro membership levels page.
*
* This recipe assumes the User Pages Add On is installed and configured.
* @link https://www.paidmembershipspro.com/add-ons/pmpro-user-pages/
*
* You can add this recipe to your site by creating a custom plugin
* or using the Code Snippets plugin available for free in the WordPress repository.
@davidmutero
davidmutero / pmpro-template-redirect-after-checkout-discount-or-level.php
Last active April 11, 2025 12:17 — forked from kimwhite/pmpro-confirmation-url-redirect-with-discount-code.php
PMPro template_redirect redirection based on discount code OR membership level
<?php
/**
* This recipe will redirect users after checkout based on a Discount Code OR their Membership Level.
*
* It hooks into the `template_redirect` action and is useful when the default `pmpro_confirmation_url` filter
* does not work reliably, such as with off-site gateways like Stripe Checkout.
*
* You can add this recipe to your site by creating a custom plugin
* or using the Code Snippets plugin available for free in the WordPress repository.
* Read this companion article for step-by-step directions on either method:
@davidmutero
davidmutero / pmprosd_prorate_fixed_annual-delay.php
Last active April 10, 2025 13:59 — forked from kimwhite/pmprosd_prorate_delay.php
Custom proration billing amount plus initial amount for a level with a fixed renewal date (like “Y1-10-01”). Requires Subscription Delays Add On.
<?php
/**
* PMPro Customization: Prorate Initial Payment Based on Fixed Renewal Date. requires Subscription Delays Add On
*
* This recipe adjusts the initial payment for a membership level to reflect a prorated charge
* from the join date until a fixed annual renewal date (e.g., October 1).
* The membership level should have its Subscription Delay set to: `Y1-10-01`
*/
function my_pmprosd_prorate_delay( $level ) {
// Only apply to specific level ID(s) — update as needed.
@davidmutero
davidmutero / pmpro-restrict-product-access-by-category-and-level.php
Last active April 7, 2025 12:02 — forked from andrewlimaza/pmpro_redirect_away_from_product_non_members.php
Restrict Direct Access to WooCommerce Products by Category and Membership Level with Paid Memberships Pro
<?php
/**
* This stops users from accessing restricted products directly with Paid Memberships Pro.
* Tested on WooCommerce 3.4 and up.
* You may be interested with the following gist for removing products from WooCommerce shop page - https://gist.github.com/andrewlimaza/6ee480694d38a99695503febe3cdabf1
* Add the following function to your PMPro Customizations plugin - https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
* Visit https://www.paidmembershipspro.com for any questions or assistance.
*/
@davidmutero
davidmutero / pmpro-add-website-field-checkout-profile-admin.php
Last active February 7, 2025 14:12 — forked from ipokkel/default-wordpress-website-and-biographical-fields.php
Collect the default WordPress user fields for Website Field URL (user_url) and show on PMPro Checkout, Profile Edit, and Admin Member Edit
<?php
/**
* Add Website Field to PMPro Checkout, Frontend Profile Edit, and Admin Member Edit Screen.
*
* - Adds a "Website" field to checkout, user profile edit, and admin member edit screen.
* - Saves the website URL correctly to the default WordPress `user_url` field.
*/
/**
* Add Website field to PMPro Checkout Form.
@davidmutero
davidmutero / mypmpro-change-price-plus-payment-plan-based-on-gateway.php
Last active February 5, 2025 14:29 — forked from JarrydLong/mypmpro-change-price-based-on-gateway.php
Add a fee to the initial and recurring value when using Stripe including when a payment plan is selected.
<?php
/**
* This recipe will add a fee to the initial and recurring value when using Stripe
* including when a payment plan is selected.
*
* You can add this recipe to your site by creating a custom plugin
* or using the Code Snippets plugin available for free in the WordPress repository.
* Read this companion article for step-by-step directions on either method.
* https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
*/
@davidmutero
davidmutero / my_pmprodon_donation_notes.php
Last active February 14, 2025 15:27 — forked from ideadude/my_pmprodon_donation_notes.php
Donation notes field example for PMPro Donations (Updated).
<?php
/**
* Donation notes.
* Edit the copy below.
* Add to a custom plugin.
* Notes are now saved into the order meta instead of the order notes.
*/
// Show the donation notes field at checkout (Always visible)
@davidmutero
davidmutero / disable-any-automatic-phone-number-formatting-in-paid-memberships-pro.php
Last active December 16, 2024 09:54 — forked from ipokkel/pmpro_format_my_phone.php
Disable any automatic phone number formatting in Paid Memberships Pro
<?php
/**
* Disable any automatic phone number formatting in Paid Memberships Pro.
*
* This ensures phone numbers are displayed exactly as entered by the member.
*
* Add this code to your PMPro Customizations Plugin
* - https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
*/
@davidmutero
davidmutero / pmpro-expiration-date-cutoff-adjustment.php
Last active December 3, 2024 16:29 — forked from ipokkel/pmprosed-extend-expiration-date-from-set-date.php
This custom snippet adjusts the expiration dates for Paid Memberships Pro memberships based on a specific cutoff date.
<?php
/**
* Adjust expiration date based on a defined cutoff date for Paid Memberships Pro.
*
* If a user signs up or renews on or after the defined cutoff date,
* their membership expiration date is extended by a specified period
* (e.g., December 31 of the next year).
* If they sign up or renew before the cutoff, the expiration date
* is set to a different period (e.g., December 31 of the current year).
*