Skip to content

Instantly share code, notes, and snippets.

View eighty20results's full-sized avatar

Thomas Sjølshagen eighty20results

View GitHub Profile
@eighty20results
eighty20results / pmpro-billing-info-in-profile.php
Last active February 16, 2016 14:35
Add billing info to the users profile
<?php
/*
Use PMPro Register Helper to add PMPro Billing Address fields to the edit user page for admins.
*/
function my_show_pmpro_address_fields_in_profile()
{
//require PMPro and PMPro Register Helper
if(!defined('PMPRO_VERSION') || !defined('PMPRORH_VERSION'))
return;
<?php
/*
Plugin Name: PMPro Directory Customization
Plugin URI: http://www.paidmembershipspro.com/wp/pmpro-customizations/
Description: Show all PMPro Users in directory (regardless of status).
Version: .1
Author: Thomas Sjolshagen @ Stranger Studios <[email protected]>
Author URI: http://www.strangerstudios.com
*/
@eighty20results
eighty20results / preserve-startdate-including-registration-date.php
Last active April 16, 2018 19:37
Preserve startdate on membership level change
/*
Keep members start dates at checkout, even if switching levels.
*/
function custom_pmpro_checkout_start_date($date, $user_id, $level)
{
global $wpdb;
// Comment this out if you want to use the users registration date (Warning: Registration date may not contain data...)
$sqlQuery = "SELECT UNIX_TIMESTAMP(startdate) FROM $wpdb->pmpro_memberships_users WHERE user_id = '" . esc_sql($user_id) . "' ORDER BY id LIMIT 1";
@eighty20results
eighty20results / pmpro-extra-fields.php
Created January 23, 2016 17:34
Add Extra fields for PMPro
<?php
/*
Plugin Name: Register Helper - Extra fields
Plugin URI: http://www.paidmembershipspro.com/wp/pmpro-customizations/
Description: Extra registration fields
Version: .1
Author: Thomas Sjolshagen - PMPro Support
Author URI: http://www.strangerstudios.com/
*/
function my_pmprorh_extra_fields_init()
<?php
/*
Plugin Name: PMPro VAT for Austria
Plugin URI: http://www.paidmembershipspro.com/wp/pmpro-customizations/
Description: PMPro: VAT for Austria
Version: .1
Author: Stranger Studios
Author URI: http://www.strangerstudios.com
*/
@eighty20results
eighty20results / checkout.php
Created January 15, 2016 15:35
Checkout.php template that won't show payment options fields unless user is logged in
<?php
global $gateway, $pmpro_review, $skip_account_fields, $pmpro_paypal_token, $wpdb, $current_user, $pmpro_msg, $pmpro_msgt, $pmpro_requirebilling, $pmpro_level, $pmpro_levels, $tospage, $pmpro_show_discount_code, $pmpro_error_fields;
global $discount_code, $username, $password, $password2, $bfirstname, $blastname, $baddress1, $baddress2, $bcity, $bstate, $bzipcode, $bcountry, $bphone, $bemail, $bconfirmemail, $CardType, $AccountNumber, $ExpirationMonth,$ExpirationYear;
/**
* Filter to set if PMPro uses email or text as the type for email field inputs.
*
* @since 1.8.4.5
*
* @param bool $use_email_type, true to use email type, false to use text type
/** Accepts a level ID and returns all categories protected by that level(id) **/
function pmpro_getCategoriesForLevel($level_id)
{
global $wpdb;
$sql = "SELECT category_id FROM {$wpdb->pmpro_memberships_categories} WHERE membership_id = %d";
$sql = $wpdb->prepare($sql, $level_id);
return $wpdb->get_results($sql);
}
function pmpro_my_get_paying_member_ids()
{
global $pmpro_levels;
global $wpdb;
$user_ids = array();
$paying_levels = array();
foreach( $pmpro_levels as $level ) {
//we have to put everything in a function called on init, so we are sure Register Helper is loaded
function my_pmprorh_init()
{
//don't break if Register Helper is not loaded
if(!function_exists("pmprorh_add_registration_field"))
{
return false;
}
//define the fields
$fields = array();
<?php
//we have to put everything in a function called on init, so we are sure Register Helper is loaded
function my_pmprorh_init()
{
//don't break if Register Helper is not loaded
if(!function_exists("pmprorh_add_registration_field"))
{
return false;
}