{"action":"created","issue":{"url":"https://api.github.com/repos/websharks/s2member-kb/issues/280","labels_url":"https://api.github.com/repos/websharks/s2member-kb/issues/280/labels{/name}","comments_url":"https://api.github.com/repos/websharks/s2member-kb/issues/280/comments","events_url":"https://api.github.com/repos/websharks/s2member-kb/issues/280/events","html_url":"https://github.com/websharks/s2member-kb/issues/280","id":121277735,"number":280,"title":"Plugins that work well with s2Member","user":{"login":"jaswsinc","id":1563559,"avatar_url":"https://avatars.githubusercontent.com/u/1563559?v=3","gravatar_id":"","url":"https://api.github.com/users/jaswsinc","html_url":"https://github.com/jaswsinc","followers_url":"https://api.github.com/users/jaswsinc/followers","following_url":"https://api.github.com/users/jaswsinc/following{/other_user}","gists_url":"https://api.github.com/users/jaswsinc/gists{/gist_id}","starred_url":"https://api.github.com/users/jaswsinc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaswsinc/subscriptions","organizations_url":"https://api.github.com/users/jaswsinc/orgs","repos_url":"https://api.github.com/users/jaswsinc/repos","events_url":"https://api.github.com/users/jaswsinc/events{/privacy}","received_events_url":"https://api.github.com/users/jaswsinc/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/websharks/s2member-kb/labels/draft","name":"draft","color":"fef2c0"},{"url":"https://api.github.com/repos/websharks/s2member-kb/labels/tutorials","name":"tutorials","color":"0052cc"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-12-09T15:58:10Z","updated_at":"2015-12-09T16:07:46Z","closed_at":null,"body":"---\r\n##### KB Article Creation Checklist\r\n\r\n- [x] Write initial draft for this KB Article; label this issue `draft` and either `questions` or `tutorials`\r\n- [x] Add [required YAML configuration](https://github.com/websharks/team/wiki/KB-Articles-::-Required-YAML-Configuration)\r\n- [x] Add Tags for this KB Article to the YAML config (see [YAML Keys (Explained)](https://github.com/websharks/team/wiki/KB-Articles-::-Required-YAML-Configuration#yaml-keys-explained))\r\n- [ ] Edit and finalize draft for publishing (remove `draft` label, add `draft-finalized` label)\r\n- [ ] Assign Issue to yourself and [create Markdown file](https://github.com/websharks/team/wiki/KB-Articles-::-Creating-the-Markdown-File) (remove `draft-finalized` label, add `pending`)\r\n- [ ] Project Lead: Review and Publish KB Article (remove `pending` label, add `published` label)\r\n\r\n##### Additional TODOs\r\n\r\n_Additional TODO list items go here._\r\n\r\n```yaml\r\ntitle: Plugins that work well with s2Member\r\ncategories: tutorials\r\ntags: other-integrations, tricks\r\nauthor: jaswsinc\r\ngithub-issue: https://github.com/websharks/s2member-kb/issues/280\r\n```\r\n---\r\n\r\ns2Member has been designed to make optimum use of core WordPress functions. It does not add its own tables to your site’s database, but instead uses the regular WordPress tables.\r\n\r\nThis means that s2Member’s functionality can easily be extended by using other plugins, even if they have not been designed specifically with s2Member in mind. Below is a list of plugins that integrate particularly well with s2Member, organized according to the function that they provide.\r\n\r\nPlease note that this list is *not* exhaustive. It simply lists those plugins that we have either used ourselves or that have been reported by s2Member users as integrating well with s2Member.\r\n\r\n## Admin Bar\r\n\r\n- [Admin Bar Disabler](https://wordpress.org/plugins/admin-bar-disabler/): This plugin allows you to show or hide the admin bar to users with specific user roles (including s2Member levels).\r\n\r\n## Caching\r\n\r\n- [Zen Cache](https://wordpress.org/plugins/zencache/)\r\n- [Zen Cache Pro](https://zencache.com/) (paid plugin)\r\n\r\n_**Tip:** We are the developers of Zen Cache and Zen Cache Pro, so these can always be guaranteed to work with s2Member. Zen Cache Pro offers the significant advantage that it makes it possible to cache content for logged-in members. It also offers the ability to compress (minify) CSS and javascript files, which will make your site go even faster._\r\n\r\nOther alternatives...\r\n\r\n- [WP Super Cache](https://wordpress.org/plugins/wp-super-cache/)\r\n- [W3 Total Cache](https://wordpress.org/plugins/w3-total-cache/) (provided that object caching is **not** enabled please).\r\n\r\n## Capability Management\r\n\r\n- [Capability Manager Enhanced](https://wordpress.org/plugins/capability-manager-enhanced/)\r\n- [Members](https://wordpress.org/plugins/members/)\r\n\r\nBoth op these plugins allow you to have much finer-grained control over which capabilities are assigned to each user role (including s2Member levels). This enables you, for example, to allow those with s2Member Level 1 to have access to content that would otherwise be restricted to those at s2Member Level 4 and above.\r\n\r\nPerhaps more importantly, these plugins also enable you to change the default hierarchical structure of s2Member levels. You could therefore use either of them to prevent users at s2Member Level 2 and s2Member Level 3 from being able to access content designated for those at s2Member Level 1.\r\n\r\n## Changing Text Created by s2Member\r\n\r\n- [Say What?](https://wordpress.org/plugins/say-what/)\r\n\r\n  s2Member and s2Member Pro provide a variety of forms and buttons for use on your site. You might, however, prefer to use different words or phrases (whether in English or another language) instead of the default s2Member text. This plugin (which, when activated, will appear in your Tools menu under Text Changes) allows you to do so easily by simply filling in four boxes for each phrase you wish to change.\r\n\r\n  Those boxes are as follows:\r\n  1.  Original string: type in the current text\r\n  2.  Text Domain: type \\`\\`s2member” (without the quotes)\r\n  3.  Text Context: type \\`\\`s2member-front” (without the quotes)\r\n  4.  Replacement String: type in your desired text\r\n\r\n## Comment Subscriptions\r\n\r\n- [Comment Mail](https://wordpress.org/plugins/comment-mail/)\r\n- [Comment Mail Pro](http://comment-mail.com/) (paid plugin)\r\n\r\n_**Tip:** We are the developers of both these plugins. They allow commenters to sign up for email notifications whenever they leave a comment on your site. Or, they can also subscribe without commenting — the choice is theirs. This is a fantastic way to engage visitors — giving them the details they want, when (and how) they want them!_\r\n\r\n## Counting Hits on Posts and Pages\r\n\r\n- [Post Views Counter](https://wordpress.org/plugins/post-views-counter/)\r\n\r\n  This plugin provides a means of displaying how many times a post or page has been viewed. There are options for displaying in the admin pages and/or on the front end, and it is possible to exclude visits by those with specific roles (including s2Member roles) from being counted.\r\n\r\n## Groups Management\r\n\r\n- [KC Groups Management](http://krumch.com/2013/07/09/kc-groups-management/#.Vklev3q350w) (paid plugin)\r\n\r\n  This enables one user to purchase a bundle of s2Member memberships that s/he can then control. This is very useful if, for example, you have a corporate client who wishes to enable access for a number of employees.\r\n\r\n## Identifying Post and Page IDs\r\n\r\n- [Reveal IDs](https://wordpress.org/plugins/reveal-ids-for-wp-admin-25/)\r\n- [WP Show Ids](https://wordpress.org/plugins/wp-show-ids/)\r\n\r\nSometimes, when using s2Member, you might wish to protect a specific post or page and need to obtain its ID. Both these plugins add the ID number of each post and page to the lists of posts and pages in the WordPress admin pages.\r\n\r\n## Login and Registration\r\n\r\n- [Clean Login](https://wordpress.org/plugins/clean-login/): This provides a means of creating new login, lost password, and registration pages using regular WordPress pages. It also provides a setting to disable the admin bar for every user except administrators. Just make sure that the option to “Disable dashboard access for non-admin users?” is left unchecked, so that that can be managed by s2Member instead.\r\n- [Sidebar Login](https://wordpress.org/plugins/sidebar-login/): As its name suggests, provides a means of adding a login widget to any sidebar.\r\n\r\n_**Note:** s2Member Pro also provides its own widget that can be placed in any sidebar so as to enable a member to login on any post or page where that widget appears._\r\n\r\n## MailChimp Integration\r\n\r\n- [KC S2M+MC](https://wordpress.org/plugins/kc-s2mmc/): s2Member already enables basic integration capabilities with MailChimp. This plugin takes that integration much deeper, so that users can be added either from s2Member or from MailChimp, and they will be synced across to the other application.\r\n\r\n## Menus\r\n\r\n- [Nav Menu Roles](https://wordpress.org/plugins/nav-menu-roles/)\r\n- [Privilege Menu](https://wordpress.org/plugins/privilege-menu/)\r\n\r\nIf you enable all Alternative View Protections in s2Member (or check the Nav Menus box option) then s2Member will ensure that menu items will reflect the user role of the current user. In other words, someone at s2Member Level 1 will see on the menu only those items that are accessible to someone with that user level.\r\n\r\nThese two plugins offer more fine-grained control. You might, for example, wish someone with s2Member Level 1 access to be able to see a menu item that is accessible only for someone at s2Member Level 2 so that this can act as a teaser, encouraging them to purchase an upgrade.\r\n\r\n## PHP in Posts and Pages\r\n\r\n- [ezPHP](https://wordpress.org/plugins/ezphp/): There are other plugins that also offer the capability to add PHP code to posts and pages. However, we are the developers of the ezPHP plugin, and recommend it because, besides the regular PHP syntax, it provides an alternative way of inserting PHP that uses shortcodes. This makes it possible to use on the visual editor of a post or page, as well as on the text editor.\r\n\r\n## Protected Downloads Management and Tracking \r\n\r\n- [s2Member Secure File Browser](https://wordpress.org/plugins/s2member-secure-file-browser/): This plugin provides fine-grained control of your protected file downloads (including downloads served inline). It also enables you to track how many times a file has been downloaded, and by whom.\r\n\r\n## Spam Prevention\r\n\r\n- [Ban Hammer](https://wordpress.org/plugins/ban-hammer/): So long as you are using the default WordPress registration form, Ban Hammer provides a way of preventing registrations from users with email domains that you can specify.\r\n- [Anti-Spam by CleanTalk](https://wordpress.org/plugins/cleantalk-spam-protect/)\r\n- [WP-SpamShield Anti-Spam](https://wordpress.org/plugins/wp-spamshield/)\r\n\r\n_The other two plugins provide more general spam protection on login and registration forms, including forms generated by s2Member and s2Member Pro._\r\n\r\n## User Data: Listing, Searching, and Sorting\r\n\r\n- [AMR Users](https://wordpress.org/plugins/amr-users/)\r\n- [AMR Users Plus s2Member](https://wpusersplugin.com/downloads/amr-users-plus-s2-member/) (paid plugin)\r\n\r\ns2Member Pro already provides an [`[s2Member-List /]`](https://s2member.com/kb-article/s2member-list-shortcode-documentation/) shortcode that makes it possible for site owners to build a list of their members in a variety of ways. The shortcode might be used to present a list of your highest ranking members, or simply to provide other members with a way to search for each other.\r\n\r\n_**If, however**, you have some other use case that this shortcode does not cater for, these two plugins provide other ways to build lists of your members._\r\n\r\n## Widgets\r\n\r\n- [Display Widgets](https://wordpress.org/plugins/display-widgets/): This plugin adds a series of options to each active widget that enable you to control not only the posts, pages, categories, etc. on which the widget appears, but also which user roles (including s2Member user roles) will be able to see it.\r\n"},"comment":{"url":"https://api.github.com/repos/websharks/s2member-kb/issues/comments/163307397","html_url":"https://github.com/websharks/s2member-kb/issues/280#issuecomment-163307397","issue_url":"https://api.github.com/repos/websharks/s2member-kb/issues/280","id":163307397,"user":{"login":"raamdev","id":53005,"avatar_url":"https://avatars.githubusercontent.com/u/53005?v=3","gravatar_id":"","url":"https://api.github.com/users/raamdev","html_url":"https://github.com/raamdev","followers_url":"https://api.github.com/users/raamdev/followers","following_url":"https://api.github.com/users/raamdev/following{/other_user}","gists_url":"https://api.github.com/users/raamdev/gists{/gist_id}","starred_url":"https://api.github.com/users/raamdev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/raamdev/subscriptions","organizations_url":"https://api.github.com/users/raamdev/orgs","repos_url":"https://api.github.com/users/raamdev/repos","events_url":"https://api.github.com/users/raamdev/events{/privacy}","received_events_url":"https://api.github.com/users/raamdev/received_events","type":"User","site_admin":false},"created_at":"2015-12-09T16:07:45Z","updated_at":"2015-12-09T16:07:45Z","body":"@jaswsinc I believe we discussed publishing this as a blog post on s2Member.com as opposed to a KB Article. Is that still the intention or do you feel this would be better as a KB Article?"}}