Simple Membership Menu permits to set visiblity restriction on menu items
By the way, you can hide or show, menu items following the configured roles ( Simple Membership roles )
Documentation
This plugin is a extension of the great plugin : Simple Membership Plugin.
Read the setup documentation after you install the main plugin Simple Membership to get started.
After the Simple Membership Plugin installed, you can install this plugin.
Plugin Support
If you have any issue with this plugin, please feel free to contact me
Dependencies
This plugin is a extension of the great plugin : Simple Membership Plugin.
Arbitrary section
None
Do the following to install the membership plugin:
- Upload the ‘simple-wp-membership-menu.zip’ file from the Plugins->Add New page in the WordPress administration panel.
- Activate the plugin through the ‘Plugins’ menu in WordPress.
Very simple plugin which allows you to select each and every menu option and tell which should be visible according to the login class. Unfortunately, the owner abandoned the plugin two years ago, and there are no replacement plugins for it; so for more recent versions of WordPress you need to manually apply the following simple patch to get it working again:
https://www.ads-software.com/support/topic/fix-for-wordpress-4-7-2-solved/
Had menus running smooth, did as promised
Thanks to the fix by dwsdolce, this plugin was exactly what I needed for a membership site. Very easy and intuitive.
Once I replace add_swpm_fields with:
[ Moderator note: code fixed. Please wrap code in the backtick character or use the code button. ]
function add_swpm_fields( $id, $item, $depth, $args ) {
//// Logged levels
$levels = $this->get_membership_levels();
$item_groups = get_post_meta( $item->ID, self::META_KEY_NAME, true );
?>
<p class="description description-wide menu-item-actions">
Membership groups permitted :
<?php foreach($levels as $level)
{
$key = self::META_KEY_NAME.'-'.$level->id;
$name = sprintf( '%s[%s]', $key, $item->ID );
// Handle the case where there is no array because it is a new menu item that has been added.
// In this case checkall of the member levels since it is more likely to be included than not.
if ( is_array( $item_groups ) ) {
$checked = in_array($level->id, $item_groups) || (count($item_groups) == 0 && $level->id == self::NOT_LOGGED_IN_LEVEL_ID) ? "checked" : "";
} else {
$checked = "checked";
}
// If the class menu-item-title is used then this is perceived to be a menu item that can be moved and will cause the
// Under link to include all of the member leves. Not good.
?>
<label class="swpm-menu-item-title" style="padding-top:8px;padding-bottom:8px;">
<?php printf(
'<input type="checkbox" class="menu-item-checkbox" name="%3$s" value="%1$s" %4$s> %2$s',
$level->id,
$level->alias,
$name,
$checked); ?>
</label>
<?php } ?>
</p>
<?php
}
it works well.
This plugin throws a bunch of PHP errors within the Menu editor as well as on the front end of the site without even doing anything but installing it.
Read all 5 reviews
“Simple Membership Menu” is open source software. The following people have contributed to this plugin.
Contributors
1.0.0
- Add group access restriction to menu items ( Appearance -> Menu ) following the roles created from the Simple Membership Panel.