Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save strangerstudios/bcba0f8f8a01ea4c804a8ed5c94204e9 to your computer and use it in GitHub Desktop.
Save strangerstudios/bcba0f8f8a01ea4c804a8ed5c94204e9 to your computer and use it in GitHub Desktop.
Add a "Requires Membership" column to the All Posts dashboard page to show what levels are required to view.
<?php
//add a new column to the all posts view
function requires_membership_posts_columns_head( $defaults ) {
$defaults['requires_membership'] = 'Requires Membership';
return $defaults;
}
//get the column data
function requires_membership_posts_columns_content( $column_name, $post_ID ) {
if ($column_name == 'requires_membership') {
global $membership_levels, $wpdb;
$post_levels = $wpdb->get_col("SELECT membership_id FROM {$wpdb->pmpro_memberships_pages} WHERE page_id = '{$post_ID}'");
$protected_levels = array();
foreach($membership_levels as $level)
{
$protectedcategories = $wpdb->get_col("SELECT category_id FROM $wpdb->pmpro_memberships_categories WHERE membership_id = $level->id");
if(
in_array( $level->id, $post_levels ) ||
in_category($protectedcategories, $post_ID)
) {
$protected_levels[] = $level->name;
}
}
echo implode( ', ', $protected_levels);
}
}
add_filter( 'manage_posts_columns', 'requires_membership_posts_columns_head' );
add_action( 'manage_posts_custom_column', 'requires_membership_posts_columns_content', 10, 2 );
@laurenhagan0306
Copy link

This recipe is included in the blog post on "Show a Post, Page or Category’s Required Membership Levels in the Dashboard “All” Views" at Paid Memberships Pro here: https://www.paidmembershipspro.com/show-post-page-categorys-required-membership-levels-dashboard-views/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment