> Mmbrs wordpress plugin resources analysis

mmbrs wordpress plugin resources analysis

Download This Plugin
Download Elegant Themes
Name mmbrs
Version 1.0
Author Ben Wills
Rating 100
Last updated 2014-10-02 05:24:00
Downloads
60
Download Plugins Speed Test plugin for Wordpress

Home page

Delta: 0%

Post page

Delta: 0%
mmbrs plugin has no negative impact on PageSpeed score.

Home page PageSpeed score has been degraded by 0%, while Post page PageSpeed score has been degraded by 0%

mmbrs plugin added 1 bytes of resources to the Home page and 6 bytes of resources to the sample Post page.

mmbrs plugin added 0 new host(s) to the Home page and 0 new host(s) to the sample Post page.

Great! mmbrs plugin ads no tables to your Wordpress blog database.

The mmbrs plugin allows you to restrict content access using shortcodes.

Content may be restricted based on role, capability, user meta, and logged-in status.

What makes mmbrs different:

  • Restriction based on role, capability, user meta, and logged-in status is all in one place.
  • You are able to restrict content based on if a user is='not'. For example, Show this content if a user is not an administrator.
  • You can pass multiple variables to the roles and capabilities shortcodes. For example, Show this content to users who are subscribers, contributors, or editors.
  • By default, any content within these four shortcodes is not displayed in feeds. You may also set the showinfeed='yes' attribute to show the content in feeds.
  • It is as lean as I could get it, with logic ordering to cut down on processing. Which isn't saying much, but if you've got suggestions, I'm open to hearing them.

The four mmbrs shortcodes are:

  • [mmbrs_logged_in]
  • [mmbrs_roles]
  • [mmbrs_capabilities]
  • [mmbrs_user_meta]

[mmbrs_logged_in]

[mmbrs_logged_in]Content.[/mmbrs_logged_in]

  • Attribute: none
    • Shows content to logged in users.

[mmbrs_logged_in is='not']Content.[/mmbrs_logged_in]

  • Attribute: is
    • Optional.
    • is only accepts not.
    • Shows content to logged out users.
    • Case insensitive.

[mmbrs_logged_in showinfeed='yes']Content.[/mmbrs_logged_in]

  • Attribute: showinfeed
    • Optional.
    • showinfeed only accepts yes.
    • Shows content in the feed and ignores all other attributes when displaying in the feed. (If it is not being displayed in a feed, all of the attributes take effect.)
    • Case insensitive.

[mmbrs_roles]

[mmbrs_roles]Content.[/mmbrs_roles]

  • Attribute: none
    • Returns nothing.

[mmbrs_roles equals='subscriber']Content.[/mmbrs_roles]

  • Attribute: equals
    • Required.
    • Accepts multiple. e.g. equals='subscriber,contributor'
    • Shows content to users with the 'subscriber' role.
    • Case sensitive.

[mmbrs_roles is='not' equals='subscriber']Content.[/mmbrs_roles]

  • Attribute: is
    • Optional.
    • Shows content to users who do not have the 'subscriber' role.
    • is only accepts not.
    • Case insensitive.

[mmbrs_roles showinfeed='yes']Content.[/mmbrs_roles]

  • Attribute: showinfeed
    • Optional.
    • Shows content in the feed and ignores all other attributes when displaying in the feed. (If it is not being displayed in a feed, all of the attributes take effect.)
    • showinfeed only accepts yes.
    • Case insensitive.

[mmbrs_capabilities]

[mmbrs_capabilities]Content.[/mmbrs_capabilities]

  • Attribute: none
    • Returns nothing.

[mmbrs_capabilities can='delete_others_posts']Content.[/mmbrs_capabilities]

  • Attribute: can
    • Required.
    • Shows content to users with the 'delete_others_posts' capability.
    • Accepts multiple. e.g. can='delete_others_posts,edit_others_posts'
    • Case sensitive.

[mmbrs_capabilities is='not' can='delete_others_posts']Content.[/mmbrs_capabilities]

  • Attribute: is
    • Optional.
    • Shows content to users who do not have the 'delete_others_posts' capability.
    • is only accepts not.
    • Case insensitive.

[mmbrs_capabilities showinfeed='yes']Content.[/mmbrs_capabilities]

  • Attribute: showinfeed
    • Optional.
    • Shows content in the feed and ignores all other attributes when displaying in the feed. (If it is not being displayed in a feed, all of the attributes take effect.)
    • showinfeed only accepts yes.
    • Case insensitive.

[mmbrs_user_meta]

[mmbrs_user_meta]Content.[/mmbrs_user_meta]

  • Attribute: none
    • Returns nothing.

[mmbrs_user_meta key='first_name'][/mmbrs_user_meta]

  • Attribute: key (with no content)
    • Required. (key attribute is required. Content is not required.)
    • Shows a logged-in user's first_name meta value.
    • Does NOT accept multiple values when content is null/empty.
    • Case sensitive.

[mmbrs_user_meta key='first_name']Content.[/mmbrs_user_meta]

  • Attribute: key (with content)
    • Required. (key attribute is required. Content is not required.)
    • Shows content to logged-in user with the first_name meta value.
    • Accepts multiple as OR. e.g. key='first_name,last_name'
    • Case sensitive.

[mmbrs_user_meta is='not' key='first_name']Content.[/mmbrs_user_meta]

  • Attribute: is
    • Optional.
    • Shows content to users who do not have the first_name meta value.
    • is only accepts not.
    • Case insensitive.

[mmbrs_user_meta is='not' key='first_name' equals='Ben']Content.[/mmbrs_user_meta]

  • Attribute: equals
    • Required.
    • Shows content to users who do not have the first_name user meta of 'Ben'.
    • Case sensitive.

[mmbrs_user_meta showinfeed='yes']Content.[/mmbrs_user_meta]

  • Attribute: showinfeed
    • Optional.
    • Shows content in the feed and ignores all other attributes when displaying in the feed. (If it is not being displayed in a feed, all of the attributes take effect.)
    • showinfeed only accepts 'yes'.
    • Case insensitive.

Other Notes:

For every shortcode, except [mmbrs_logged_in], if a user is not logged in, the shortcode will return nothing. The exception is when using is='not' in [mmbrs_logged_in], as in [mmbrs_logged_in is='not']Content.[/mmbrs_logged_in]

By default, everything is hidden from feeds unless showinfeed='yes' is defined.

Motivation for this plugin:

I wrote this plugin to fill some holes, reduce some unnecessary functions, and fix some minor bugs I found in other plugins. I now use this, and only this, to control all shortcode-based content access on my membership-style websites.

The Members plugin checks roles by checking capabilities. You are not supposed to do that. The proper way of checking roles is included here. Notes on this:

Aside from that, I love and use the Members plugin and suggest you check it out for other role- and capability-based content access management.

I removed a bunch of stuff from the User Meta Shortcodes plugin that I didn't want. If you want the additional functionality, I recommend that plugin.

In the end, I wanted very clear control of in-post content via shortcodes. I wasn't finding anything that was totally stripped down. So I wrote this.

Inspiration and Credits:

 

Resources added by plugin to Home page/Post page in kB
Total size of resources for Home page/Post page in kB
Random Theme Tests
My Sweet Diary screenshot

My Sweet Diary

by: iconstantin

7785
0%
thememagic screenshot

thememagic

by: manish_gori

90612
100%