Skip to content

Instantly share code, notes, and snippets.

View ipokkel's full-sized avatar

Theuns Coetzee ipokkel

View GitHub Profile
@dparker1005
dparker1005 / pmproec_overwrite_message.php
Created November 27, 2020 15:59
Overwrite the modified email confirmation message from PMPro Email Confirmation Add On.
<?php
// Copy from below here...
/*
* Overwrite the modified email confirmation message from PMPro Email Confirmation Add On.
*/
function my_pmproec_pmpro_confirmation_message( $message ) {
remove_filter( 'pmpro_confirmation_message', 'pmproec_pmpro_confirmation_message' );
//must be an email confirmation level
@ronalfy
ronalfy / pmpro-restrict-categories-sub-site.php
Created November 20, 2020 14:49
PMPro - Restrict Categories on Sub-site in a Multisite Network
<?php
/**
* Restrict categories on the sub-site of a MS network.
* Install as an mu-plugin (advanced users only)
*/
function my_pmpro_member_pmpro_has_membership_access_filter( $access, $post, $user, $levels ) {
// If main site, leave alone.
if ( is_main_site() || is_admin() ) {
return $access;
@andrewlimaza
andrewlimaza / change-2co-locale.php
Created November 18, 2020 06:08
Set 2Checkout hosted checkout page language for Paid Memberships Pro.
<?php
/**
* Change the 2Checkout hosted checkout default language for Paid Memberships Pro WordPress Plugin.
* Please see https://www.2checkout.com/documentation/checkout/parameter-sets/pass-through-products/ (Additional Parameters) for available languages.
*
* 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/
*/
@andrewlimaza
andrewlimaza / require-ap-for-checkout.php
Last active November 17, 2020 14:04
Require an Addon Package to be purchased for certain membership levels. [Paid Memberships Pro]
<?php
/**
* This code recipe requires an Addon Package to be purchased for a particular level. Please adjust the level ID on line 18.
*
* 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/
*/
function my_pmpro_require_ap_for_checkout( $continue ) {
@andrewlimaza
andrewlimaza / bulk-update-users-expiration-date-pmpro.sql
Created November 9, 2020 14:09
Bulk update user's expiration dates via SQL - Paid Memberships Pro
/**
* Bulk update all users to have an expiration date that belong to a specific membership level.
* This code should be run directly inside your WordPress database.
* Please update the wp_ prefix to match that of your database as well as the membership_id and enddate value (YYYY-MM-DD).
*
* IMPORTANT: Have a backup of your site before running this code.
*/
UPDATE wp_pmpro_memberships_users SET enddate = '2020-12-31 00:00:00' WHERE status = 'active' AND membership_id = 1;
@ronalfy
ronalfy / pmpro-add-start-date-membership-account-table.php
Created November 6, 2020 22:18
PMPro - Add Start Date Membership Account Table
<?php
/**
* Gets the start date for a user and outputs it to the account page membership table.
*
* 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/
*/
function my_pmpro_add_extra_column_members_table() {
@andrewlimaza
andrewlimaza / update-sponsored-members-discount-code.sql
Created October 29, 2020 15:16
Bulk update expiration date for existing Sponsored Members Discount Code
/**
* Please have a backup of your database before running this code.
* Adjust your 'wp_' prefix to match that of your WordPress database.
* This works only with mySQL databases.
*
* Adjust the expiration date by 10 years for all discount codes starting with "S".
*/
UPDATE wp_pmpro_discount_codes SET `expires` = DATE_ADD(expires, INTERVAL 10 YEAR) WHERE `code` LIKE 'S%'
@andrewlimaza
andrewlimaza / add-tax-pmpro-emails.php
Created October 27, 2020 09:04
Add !!tax!! 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 ) {
<?php
/**
* Creates shipping address fields for 'child' accounts when using the Sponsored/Group Members for Paid Memberships Pro.
* This requires the following attribute 'sponsored_accounts_at_checkout' => true for checkout.
* PLEASE NOTE: Using the Register Helper Add On (or similar) may interfere with this code if field names match.
*
* Add this code to your site by following this guide - https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
* Skill Required: Advanced.
*/
@andrewlimaza
andrewlimaza / pmpro-hide-membership-shortcode.php
Created October 19, 2020 12:20
Hide membership shortcode content for non-members/logged-out users when using negative levels.
<?php
/**
* Hide content for logged-out and user's without levels when using [membership level="-20"] shortcode.
* This will only hide content if negative levels are used. Default functionality remains if using "10,-20" in the level's attribute.
* Follow this guide to add this code to your site - https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
*/
function my_custom_shortcode_check( $hasaccess, $content, $levels, $delay ) {
// Check if array contains only negative numbers.
$negative = false;