{"id":43084,"date":"2016-04-11T11:06:37","date_gmt":"2016-04-11T11:06:37","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/client-portal\/"},"modified":"2026-01-22T09:22:15","modified_gmt":"2026-01-22T09:22:15","slug":"client-portal","status":"publish","type":"plugin","link":"https:\/\/scn.wordpress.org\/plugins\/client-portal\/","author":9074281,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2.2","stable_tag":"1.2.2","tested":"6.9.4","requires":"3.1","requires_php":"","requires_plugins":null,"header_name":"Client Portal","header_author":"Cozmoslabs, Madalin Ungureanu, Antohe Cristian","header_description":"","assets_banners_color":"b69894","last_updated":"2026-01-22 09:22:15","external_support_url":"","external_repository_url":"","donate_link":"http:\/\/www.cozmoslabs.com\/","header_plugin_uri":"http:\/\/www.cozmoslabs.com\/","header_author_uri":"http:\/\/www.cozmoslabs.com","rating":4.3,"author_block_rating":0,"active_installs":3000,"downloads":145079,"num_ratings":23,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"madalin.ungureanu","date":"2016-04-11 12:45:28"},"1.0.1":{"tag":"1.0.1","author":"madalin.ungureanu","date":"2016-04-26 09:25:50"},"1.0.2":{"tag":"1.0.2","author":"madalin.ungureanu","date":"2016-05-30 11:42:37"},"1.0.3":{"tag":"1.0.3","author":"madalin.ungureanu","date":"2017-03-07 10:24:36"},"1.0.4":{"tag":"1.0.4","author":"madalin.ungureanu","date":"2017-05-04 12:56:19"},"1.0.5":{"tag":"1.0.5","author":"madalin.ungureanu","date":"2018-08-02 07:53:05"},"1.0.6":{"tag":"1.0.6","author":"madalin.ungureanu","date":"2019-02-26 10:23:59"},"1.0.7":{"tag":"1.0.7","author":"madalin.ungureanu","date":"2019-05-16 10:24:23"},"1.0.8":{"tag":"1.0.8","author":"madalin.ungureanu","date":"2020-03-25 14:48:28"},"1.0.9":{"tag":"1.0.9","author":"madalin.ungureanu","date":"2020-04-14 11:46:19"},"1.1.0":{"tag":"1.1.0","author":"madalin.ungureanu","date":"2020-06-03 09:54:38"},"1.1.1":{"tag":"1.1.1","author":"madalin.ungureanu","date":"2020-08-13 13:47:59"},"1.1.2":{"tag":"1.1.2","author":"madalin.ungureanu","date":"2020-08-24 12:12:03"},"1.1.3":{"tag":"1.1.3","author":"madalin.ungureanu","date":"2021-09-16 14:54:16"},"1.1.4":{"tag":"1.1.4","author":"madalin.ungureanu","date":"2021-09-23 14:37:29"},"1.1.5":{"tag":"1.1.5","author":"madalin.ungureanu","date":"2021-09-28 10:09:29"},"1.1.6":{"tag":"1.1.6","author":"madalin.ungureanu","date":"2022-02-07 14:31:38"},"1.1.7":{"tag":"1.1.7","author":"madalin.ungureanu","date":"2022-04-07 15:35:51"},"1.1.8":{"tag":"1.1.8","author":"madalin.ungureanu","date":"2022-06-28 16:27:25"},"1.1.9":{"tag":"1.1.9","author":"madalin.ungureanu","date":"2023-02-21 11:37:43"},"1.2.0":{"tag":"1.2.0","author":"madalin.ungureanu","date":"2025-01-22 15:47:41"},"1.2.1":{"tag":"1.2.1","author":"raster02","date":"2025-12-15 08:51:05"},"1.2.2":{"tag":"1.2.2","author":"raster02","date":"2026-01-22 09:22:15"}},"upgrade_notice":[],"ratings":{"1":4,"2":0,"3":0,"4":1,"5":18},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":1391969,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":1391969,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":1391969,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.1.8","1.1.9","1.2.0","1.2.1","1.2.2"],"block_files":[],"assets_screenshots":{"screenshot-4.png":{"filename":"screenshot-4.png","revision":3444650,"resolution":"4","location":"plugin"},"screenshot-1.png":{"filename":"screenshot-1.png","revision":3444650,"resolution":"1","location":"plugin"},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3444650,"resolution":"2","location":"plugin"},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3444650,"resolution":"3","location":"plugin"}},"screenshots":{"1":"Access the Private Page in the Users Listing in the admin area: screenshot-1.jpg","2":"A Private Page edited using the Classic Editor: screenshot-2.jpg","3":"A Private Page edited with the Gutenberg Editor: screenshot-3.jpg","4":"The Settings Page for the Plugin: screenshot-3.jpg"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[17989,17993,17992,17991,17990],"plugin_category":[],"plugin_contributors":[78398,78403,78401],"plugin_business_model":[],"class_list":["post-43084","plugin","type-plugin","status-publish","hentry","plugin_tags-client-portal","plugin_tags-private-client-page","plugin_tags-private-content","plugin_tags-private-pages","plugin_tags-private-user-page","plugin_contributors-cozmoslabs","plugin_contributors-madalinungureanu","plugin_contributors-sareiodata","plugin_committers-cozmoslabs","plugin_committers-madalinungureanu","plugin_committers-raster02","plugin_committers-sareiodata","plugin_support_reps-alexandrubodea","plugin_support_reps-cozmoslabs","plugin_support_reps-madalinaruzsa","plugin_support_reps-sareiodata","plugin_support_reps-thomaswild"],"banners":{"banner":"https:\/\/ps.w.org\/client-portal\/assets\/banner-772x250.png?rev=1391969","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/client-portal\/assets\/icon-128x128.png?rev=1391969","icon_2x":"https:\/\/ps.w.org\/client-portal\/assets\/icon-256x256.png?rev=1391969","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/client-portal\/trunk\/screenshot-1.png?rev=3444650","caption":"Access the Private Page in the Users Listing in the admin area: screenshot-1.jpg"},{"src":"https:\/\/ps.w.org\/client-portal\/trunk\/screenshot-2.png?rev=3444650","caption":"A Private Page edited using the Classic Editor: screenshot-2.jpg"},{"src":"https:\/\/ps.w.org\/client-portal\/trunk\/screenshot-3.png?rev=3444650","caption":"A Private Page edited with the Gutenberg Editor: screenshot-3.jpg"},{"src":"https:\/\/ps.w.org\/client-portal\/trunk\/screenshot-4.png?rev=3444650","caption":"The Settings Page for the Plugin: screenshot-3.jpg"}],"raw_content":"<!--section=description-->\n<p>The <a href=\"https:\/\/www.cozmoslabs.com\/add-ons\/client-portal\/\">WordPress Client Portal plugin<\/a> creates private pages for each user. The content for that page is accessible  on the frontend only by the owner of the page\nafter he has logged in.<\/p>\n\n<p>The plugin doesn't offer a login or registration form and it gives you the possibility to use a plugin of your choice.<\/p>\n\n<p>The <strong>[client-portal]<\/strong> shortcode can be added to any page and when the logged in user will access that page he will be redirected to its private page.<\/p>\n\n<p>For login and registration of users we recommend the free <a href=\"https:\/\/wordpress.org\/plugins\/profile-builder\/\">Profile Builder<\/a> plugin.<\/p>\n\n<p>You can then use the [wppb-login] shortcode in the same page as the [client-portal] shortcode.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload and install the zip file via the built in WordPress plugin installer.<\/li>\n<li>Activate the WordPress Client Portal plugin from the \"Plugins\" admin panel using the \"Activate\" link.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Fix: Security issue regarding Broken Access Control when bulk generating private pages. Thanks to Nabil Irawan and the Patchstack team<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fix: translation notice<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Fix: A PHP warning appearing in some cases<\/li>\n<li>Added a new filter: cp_redirect_private_pages_capability<\/li>\n<\/ul>\n\n<h4>1.1.9<\/h4>\n\n<ul>\n<li>Fix: CSRF issue with Generate Private Pages option. Thanks to Rio Darmawan<\/li>\n<li>Fix: A PHP warning appearing in some cases<\/li>\n<li>Fix: issue with default page content not showing<\/li>\n<li>Misc: enabled revisions for Private Pages<\/li>\n<\/ul>\n\n<h4>1.1.8<\/h4>\n\n<ul>\n<li>Fix: delete private page content before reassigning data when a user is deleted from WordPress<\/li>\n<li>Misc: added a shortcode that can be used to retrieve all or different parts of the back-end content (Above Page, Default Content, Below Page): [cp-private-page-content content_above=\"show\" content_default=\"show\" content_below=\"show\"]<\/li>\n<\/ul>\n\n<h4>1.1.7<\/h4>\n\n<ul>\n<li>Added a Redirect users that are trying to access a Private Page option<\/li>\n<li>Fixed private page template not loading from child theme<\/li>\n<\/ul>\n\n<h4>1.1.6<\/h4>\n\n<ul>\n<li>Fix: issue with Before\/After Page Content textareas not saving the content correctly<\/li>\n<li>Misc: Added link to view a particular users private page<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Added a permanent dismiss button to in plugin notifications<\/li>\n<li>Readme and screenshot changes<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Fixed a bug where after editing with Gutenberg the page owner could not access the page<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Fixed an error when page.php was missing in the theme<\/li>\n<li>Usability improvements<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Fixed a potential php warning<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Added possibility to choose the Page Template if it exists in the theme to use for a Client Portal Page<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Fixed an incompatibility with Gutenberg on the admin side<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Comments on private pages are now restricted as well<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Fixed issue with not being able to edit the page on the backend that contained the client-portal shortcode<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>We now flush permalinks when we first activate the plugin so we can access directly the private pages without a 404<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Added a View All Pages button on the settings page<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Ready for translation<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>We now have a default content option for pages<\/li>\n<li>Now private pages are excluded from appearing in frontend search<\/li>\n<li>Fixed a bug where the private page would reload indefinitely if the user hadn't a page created<\/li>\n<li>Fixed a bug where you could create duplicate pages for the same user<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Minor fixes and security improvements<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added support for bulk Create Private Pages to Users page bulk actions<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added support for comments on private user pages<\/li>\n<li>Settings page is now stylized<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial Version of the WordPress Client Portal plugin.<\/li>\n<\/ul>","raw_excerpt":"WordPress Client Portal Plugin that creates private pages for all users that only an administrator can edit.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/43084","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=43084"}],"author":[{"embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/madalinungureanu"}],"wp:attachment":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=43084"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=43084"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=43084"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=43084"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=43084"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=43084"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}