{"id":268251,"date":"2025-12-22T18:18:27","date_gmt":"2025-12-22T18:18:27","guid":{"rendered":"https:\/\/en-ca.wordpress.org\/plugins\/wpsal-simple-access-list\/"},"modified":"2026-03-17T15:22:25","modified_gmt":"2026-03-17T15:22:25","slug":"wpsal-simple-access-list","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/wpsal-simple-access-list\/","author":8325007,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2.1","stable_tag":"1.2.1","tested":"6.9.4","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"WPSAL (Simple Access List)","header_author":"VERYA Inc.","header_description":"We have ONE goal in mind: making it easy to control access to pages and posts.","assets_banners_color":"1d6096","last_updated":"2026-03-17 15:22:25","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/donate.stripe.com\/9B69ATd053Ev8zo1tT6c001","header_plugin_uri":"https:\/\/wpsal.verya.xyz\/","header_author_uri":"https:\/\/verya.ca\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":272,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"verya.ca","date":"2025-12-22 18:20:16"},"1.1.0":{"tag":"1.1.0","author":"verya.ca","date":"2026-01-05 20:19:08"},"1.2.0":{"tag":"1.2.0","author":"verya.ca","date":"2026-02-13 18:40:23"},"1.2.1":{"tag":"1.2.1","author":"verya.ca","date":"2026-03-17 15:22:25"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3425574,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3425574,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3425574,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3425574,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.2.0","1.2.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3460987,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3460987,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3460987,"resolution":"3","location":"assets","locale":""}},"screenshots":{"1":"<strong>Page List (Backend)<\/strong> \u2013 <em>WordPress<\/em> admin page list showing all pages.","2":"<strong>WPSAL Modal Window<\/strong> \u2013 Popup for selecting access type and individual settings.","3":"<strong>WPSAL Settings Page<\/strong> \u2013 Main plugin settings page for configuring access control."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1912,16114,231011,26499,26500],"plugin_category":[],"plugin_contributors":[94691],"plugin_business_model":[],"class_list":["post-268251","plugin","type-plugin","status-publish","hentry","plugin_tags-access-control","plugin_tags-content-restriction","plugin_tags-content-visibility","plugin_tags-role-management","plugin_tags-user-permissions","plugin_contributors-veryaca","plugin_committers-veryaca"],"banners":{"banner":"https:\/\/ps.w.org\/wpsal-simple-access-list\/assets\/banner-772x250.png?rev=3425574","banner_2x":"https:\/\/ps.w.org\/wpsal-simple-access-list\/assets\/banner-1544x500.png?rev=3425574","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wpsal-simple-access-list\/assets\/icon-128x128.png?rev=3425574","icon_2x":"https:\/\/ps.w.org\/wpsal-simple-access-list\/assets\/icon-256x256.png?rev=3425574","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wpsal-simple-access-list\/assets\/screenshot-1.png?rev=3460987","caption":"<strong>Page List (Backend)<\/strong> \u2013 <em>WordPress<\/em> admin page list showing all pages."},{"src":"https:\/\/ps.w.org\/wpsal-simple-access-list\/assets\/screenshot-2.png?rev=3460987","caption":"<strong>WPSAL Modal Window<\/strong> \u2013 Popup for selecting access type and individual settings."},{"src":"https:\/\/ps.w.org\/wpsal-simple-access-list\/assets\/screenshot-3.png?rev=3460987","caption":"<strong>WPSAL Settings Page<\/strong> \u2013 Main plugin settings page for configuring access control."}],"raw_content":"<!--section=description-->\n<p><strong>WPSAL (Simple Access List)<\/strong> is a lightweight plugin that allows <em>WordPress<\/em> site owners to control access to posts, pages and custom post types. You can restrict content to specific <strong>users<\/strong> or <strong>roles<\/strong> and redirect unauthorized visitors to any page.<\/p>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li>Restrict access to posts, pages or custom post types.<\/li>\n<li>Assign access to individual <strong>users<\/strong> or <strong>roles<\/strong>.<\/li>\n<li>Redirect unauthorized visitors to a page of your choice.<\/li>\n<li>Developer-friendly with filters and hooks.<\/li>\n<\/ul>\n\n<h3>Usage<\/h3>\n\n<ol>\n<li>Go to the <strong>Posts<\/strong>, <strong>Pages<\/strong>, or any custom post type list in the <em>WordPress<\/em> admin.<\/li>\n<li>Hover over a post row to reveal the <strong>WPSAL<\/strong> action menu. Click it.<\/li>\n<li>In the modal that appears, select the allowed <strong>users<\/strong> and\/or <strong>roles<\/strong>.<\/li>\n<li>Optionally select a <strong>redirect page<\/strong> for unauthorized visitors.<\/li>\n<li>Click <strong>Save<\/strong> \u2014 the access restrictions are applied immediately.<\/li>\n<\/ol>\n\n<p><strong>Ideal for:<\/strong> membership sites, client portals, private blogs, or any scenario requiring flexible content access control.<\/p>\n\n<h3>Development Notes<\/h3>\n\n<p>This plugin includes minified JavaScript and CSS files.\nThe uncompressed source files are publicly available here:<\/p>\n\n<ul>\n<li>SweetAlert2 v11.26.23: https:\/\/github.com\/sweetalert2\/sweetalert2\/archive\/refs\/tags\/v11.26.23.zip<\/li>\n<li>TomSelect v2.5.2: https:\/\/github.com\/orchidjs\/tom-select\/archive\/refs\/tags\/v2.5.2.zip<\/li>\n<\/ul>\n\n<h3>Support \/ Documentation<\/h3>\n\n<ul>\n<li>For documentation, visit: https:\/\/wpsal.verya.xyz\/.<\/li>\n<li>For support or to report bugs, please visit the plugin page on the <em>WordPress<\/em> repository.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>wpsal-simple-access-list<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in <em>WordPress<\/em>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20restrict%20custom%20post%20types%3F\"><h3>Can I restrict custom post types?<\/h3><\/dt>\n<dd><p>Yes! By default, posts and pages are supported.\nUse the <code>wpsal_allowed_post_types<\/code> filter to extend to custom post types.<\/p><\/dd>\n<dt id=\"can%20i%20redirect%20unauthorized%20users%3F\"><h3>Can I redirect unauthorized users?<\/h3><\/dt>\n<dd><p>Yes, you can select a custom page to redirect visitors who don\u2019t have access.<\/p><\/dd>\n<dt id=\"can%20i%20restrict%20access%20to%20both%20roles%20and%20users%3F\"><h3>Can I restrict access to both roles and users?<\/h3><\/dt>\n<dd><p>Absolutely. You can assign access to specific users, roles, or both simultaneously.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20developer-friendly%3F\"><h3>Is the plugin developer-friendly?<\/h3><\/dt>\n<dd><p>Yes, it provides filters and hooks for extending functionality and integrating with other plugins or themes.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20pages%20that%20are%20protected%20if%20they%20have%20wpsal%20rules%20applied%3F\"><h3>Can I hide pages that are protected if they have WPSAL rules applied?<\/h3><\/dt>\n<dd><p>Yes! When the \"Filter menus and navigation blocks\" option is enabled in the plugin settings, the plugin automatically removes menu items and navigation block links that the current user cannot access.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Updated SweetAlert2 and TomSelect libraries.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>New feature: Added front-end filtering of menus and core\/navigation blocks based on WPSAL access rules.<\/li>\n<li>Cached access checks for performance improvements.<\/li>\n<li>Updated SweetAlert2 and TomSelect libraries.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New filter: <code>wpsal_permissions_column_post_types<\/code>.<\/li>\n<li>New feature: Remove all plugin metadata (reset permissions).<\/li>\n<li>Improved, updated and standardized CSS selectors for better admin page compatibility.<\/li>\n<li>Refined GUI: improved layout and visual overall clarity.<\/li>\n<li>Improved performance by optimizing various meta queries.<\/li>\n<li>Updated SweetAlert2 and TomSelect libraries.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release:\n\n<ul>\n<li>User and role-based access control.<\/li>\n<li>Redirect unauthorized users.<\/li>\n<li>Modal interface with SweetAlert2 and TomSelect.<\/li>\n<li>Developer hooks and filters.<\/li>\n<\/ul><\/li>\n<\/ul>","raw_excerpt":"We have ONE goal in mind: making it easy to control access to pages and posts.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/268251","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=268251"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/veryaca"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=268251"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=268251"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=268251"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=268251"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=268251"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=268251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}