Hi Dave,
Thank you for using Paid Memberships Pro.
Some of the shortcodes used are not ‘real’ shortcodes and will need a bit of extra code to work with the ‘do_shortcode’ method.
Certain Paid Memberships Pro pages requires preheader (files) in order to work correctly.
Here’s an example on how to add the pmpro_levels ‘shortcode’ to the levels page which may help get you started:
function add_levels_shortcode_to_levels_page( $content ) {
global $pmpro_pages;
if ( ! is_page( $pmpro_pages['levels'] ) ) {
return $content;
}
$content .= pmpro_loadTemplate( 'levels' );
return $content;
}
add_filter( 'the_content', 'add_levels_shortcode_to_levels_page' );
Thread Starter
Dave
(@deeve007)
Okay so I added this to my functions file, which seems to have accounted for all relevant pages:
function shortcodes_to_content( $content ) {
global $pmpro_pages;
if ( is_page( $pmpro_pages['levels'] ) ) {
$content .= pmpro_loadTemplate( 'levels' );
return $content;
} else if ( is_page( $pmpro_pages['account'] ) ) {
$content .= pmpro_loadTemplate( 'account' );
return $content;
} else if ( is_page( $pmpro_pages['billing'] ) ) {
$content .= pmpro_loadTemplate( 'billing' );
return $content;
} else if ( is_page( $pmpro_pages['cancel'] ) ) {
$content .= pmpro_loadTemplate( 'cancel' );
return $content;
} else if ( is_page( $pmpro_pages['checkout'] ) ) {
$content .= pmpro_loadTemplate( 'checkout' );
return $content;
} else if ( is_page( $pmpro_pages['confirmation'] ) ) {
$content .= pmpro_loadTemplate( 'confirmation' );
return $content;
} else if ( is_page( $pmpro_pages['invoice'] ) ) {
$content .= pmpro_loadTemplate( 'invoice' );
return $content;
} else if ( is_page( $pmpro_pages['member_profile_edit'] ) ) {
$content .= pmpro_loadTemplate( 'member_profile_edit' );
return $content;
} else {
return $content;
}
}
add_filter( 'the_content', 'shortcodes_to_content' );