[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fFBfrGo-fpzlkLPFaJSMAZazUGR2meDb6yUUDaEl9238":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":39,"analysis":139,"fingerprints":229},"hidden-contents","Hidden Contents","1.0","Morteza Geransayeh","https:\u002F\u002Fprofiles.wordpress.org\u002Fman4toman\u002F","\u003Cp>A handy plugin for hide contents and images from guest users. But you can control how many characters and what words show.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Supporting Post Types\u003C\u002Fli>\n\u003Cli>Change dummy image in content\u003C\u002Fli>\n\u003Cli>Visible some character to show\u003C\u002Fli>\n\u003Cli>Exclude phars to show\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>What is next\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Login\u002Fregister form on hide content\u003C\u002Fli>\n\u003Cli>Settings page for form\u003C\u002Fli>\n\u003Cli>Settings for hidden span\u003C\u002Fli>\n\u003Cli>Settings for unhide image, audio, video, text, link and more\u003C\u002Fli>\n\u003Cli>Hook on comments\u003C\u002Fli>\n\u003C\u002Ful>\n","A handy plugin for hide contents and images from guest users. But you can control how many characters and what words show.",10,1286,100,2,"2019-03-11T09:27:00.000Z","5.1.22","4.7","5.6",[20,21,22,23],"content","hidden","hide","restrict","http:\u002F\u002Fwpmart.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhidden-contents.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"man4toman",6,100370,87,183,70,"2026-04-05T06:41:24.185Z",[40,61,85,105,124],{"slug":41,"name":42,"version":6,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":13,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":59,"download_link":60,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"secret-content","Secret Content","maxemil","https:\u002F\u002Fprofiles.wordpress.org\u002Fmaxemil\u002F","\u003Cp>Simply tick the checkbox “Show this to logged in visitors only”  This works on a per post \u002F per page basis.  Not yet enabeled for custom post types.\u003C\u002Fp>\n\u003Cp>You do not need to insert custom functions or shortcodes. You do not need to change theme template files.\u003Cbr \u002F>\nThis plugin works by filtering WordPress core functions.\u003C\u002Fp>\n\u003Cp>If you “hide” a parent page, the children will be hidden in the menu as well.\u003C\u002Fp>\n\u003Cp>Technically the filters are modifying the query or the result of databse calls on standard WP features:  wp_get_nav, wp_list_pages, $posts, previous_post, next_post.\u003Cbr \u002F>\nWhen ticking the checkbox, the plugin saves a key\u002Fvalue pair in the postmeta database table.\u003Cbr \u002F>\nWhen uninstalling the plugin, the entrys to the postmeta table are deleted.\u003C\u002Fp>\n\u003Cp>Suggestions, Questions and feedback are welcome.\u003C\u002Fp>\n","Easily mark any post or a page as \"for logged in members only\", hiding it from public view! (not for custom post types).",200,5868,1,"2012-03-01T14:36:00.000Z","3.3.2","2.8","",[55,56,57,58],"hidden-posts","hide-content","members-only","restricted-content","http:\u002F\u002Foneconsult.dk\u002Fwordpress","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsecret-content.zip",{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":69,"downloaded":70,"rating":71,"num_ratings":72,"last_updated":73,"tested_up_to":74,"requires_at_least":75,"requires_php":53,"tags":76,"homepage":81,"download_link":82,"security_score":83,"vuln_count":14,"unpatched_count":27,"last_vuln_date":84,"fetched_at":29},"anonymous-restricted-content","Anonymous Restricted Content","1.6.6","taras.sych","https:\u002F\u002Fprofiles.wordpress.org\u002Fcayenne\u002F","\u003Cp>This plugin is as simple as you expected!\u003Cbr \u002F>\nAnd it support latest WordPress Gutenberg editor now!\u003C\u002Fp>\n\u003Cp>Mark the content you want to hide as restricted with just a checkbox – and it’s done!\u003C\u002Fp>\n\u003Cp>In case anonymous user will try to get access to restricted page or post – it will be redirected to WordPress Login page first.\u003Cbr \u002F>\nOr you can specify the exact URL (internal or external) to redirect anonymous users to.\u003C\u002Fp>\n\u003Cp>After successful authorization, user is redirected back to the requested page.\u003C\u002Fp>\n\u003Cp>Also, it hides restricted posts from Archive and Categories pages, RSS feed and from Latest Comments\u002FPosts widgets!\u003C\u002Fp>\n","Simple but yet effective plugin to hide selected posts and pages from anonymous users.",1000,26605,86,9,"2024-11-18T12:11:00.000Z","6.7.5","5.3",[77,78,56,79,80],"access-control","content-control","restrict-anonymous","restricted-access","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fanonymous-restricted-content\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fanonymous-restricted-content.1.6.6.zip",91,"2024-11-20 00:00:00",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":69,"downloaded":93,"rating":94,"num_ratings":72,"last_updated":95,"tested_up_to":96,"requires_at_least":97,"requires_php":53,"tags":98,"homepage":101,"download_link":102,"security_score":103,"vuln_count":49,"unpatched_count":27,"last_vuln_date":104,"fetched_at":29},"restrict-for-elementor","Restrict for Elementor","1.1.2","Restrict","https:\u002F\u002Fprofiles.wordpress.org\u002Frestrict\u002F","\u003Cp>The \u003Ca href=\"https:\u002F\u002Frestrict.io\u002Frestrict-for-elementor?utm_source=wordpress.org&utm_medium=plugin-page&utm_campaign=rsc_el\" title=\"Restricted for Elementor\" rel=\"nofollow ugc\">Restrict for Elementor\u003C\u002Fa> makes it easy for you to control and protect access to your \u003Ca href=\"https:\u002F\u002Felementor.com\u002F\" title=\"Free WordPress Website Builder\" rel=\"nofollow ugc\">Elementor-powered website\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>You can restrict, show and hide widgets, sections and columns to:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Logged in users and guests\u003C\u002Fli>\n\u003Cli>Users with a specific role (administrator, editor, author, subscriber, etc)\u003C\u002Fli>\n\u003Cli>Users with a specific meta key and value\u003C\u002Fli>\n\u003Cli>Users with a specific \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FRoles_and_Capabilities\" title=\"WordPress Roles and Capabilities\" rel=\"nofollow ugc\">capability\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Author of a post \u002F page\u003C\u002Fli>\n\u003Cli>Visitor’s country or continent – integration with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fgeoip-detect\u002F\" title=\"Geolocation IP Detection\" rel=\"ugc\">Geolocation IP Detection\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Premium version integrations and available criteria for content restrictions and other features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Alternative Content – display Elementor template or HTML \u002F formatted text in place of restricted section, column or a widget\u003C\u002Fli>\n\u003Cli>White Label – by adding just one line to your wp-config.php like this \u003Cstrong>define(‘RSC_EL_PLUGIN_TITLE’, ‘My Restriction Plugin’);\u003C\u002Fstrong> the whole plugin will become white labeled and ready for your clients.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwoocommerce.com\u002F\" rel=\"nofollow ugc\">WooCommerce\u003C\u002Fa> users – who made any purchase\u003C\u002Fli>\n\u003Cli>WooCommerce users – who purchased a specific product\u003C\u002Fli>\n\u003Cli>WooCommerce users – who purchased a specific product variation\u003C\u002Fli>\n\u003Cli>Restrict for Elementor also integrates with \u003Ca href=\"https:\u002F\u002Fwoocommerce.com\u002Fproducts\u002Fwoocommerce-subscriptions\u002F\" rel=\"nofollow ugc\">WooCommerce Subscription\u003C\u002Fa> addon which allows you to show \u002F hide content for clients with an active subscription.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Feasydigitaldownloads.com\u002F\" rel=\"nofollow ugc\">Easy Digital Downloads\u003C\u002Fa> users – who purchased any Easy Digital Downloads product\u003C\u002Fli>\n\u003Cli>Easy Digital Downloads users – who purchased a specific Easy Digital Downloads product\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftickera.com\u002F\" rel=\"nofollow ugc\">Tickera\u003C\u002Fa> users – who purchased any ticket\u003C\u002Fli>\n\u003Cli>Tickera users – who purchased a specific ticket type\u003C\u002Fli>\n\u003Cli>Tickera users – who purchased a ticket for a specific event\u003C\u002Fli>\n\u003C\u002Ful>\n","Show or hide Elementor sections, columns and widgets with ease using many different criteria",14083,80,"2026-02-14T10:23:00.000Z","6.9.4","4.3",[99,56,23,58,100],"elementor","woocommerce","https:\u002F\u002Frestrict.io\u002Frestrict-for-elementor","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frestrict-for-elementor.1.1.2.zip",99,"2024-06-05 13:10:13",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":113,"downloaded":114,"rating":27,"num_ratings":27,"last_updated":115,"tested_up_to":116,"requires_at_least":117,"requires_php":53,"tags":118,"homepage":53,"download_link":123,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"restrict-content-for-wp-bakery","Restrict Content for WP Bakery","1.0.0","mohan9a","https:\u002F\u002Fprofiles.wordpress.org\u002Fmohan9a\u002F","\u003Cp>An extension for Visual Composer that restrict the content or block based on user role and display message for restricted role as well.\u003C\u002Fp>\n\u003Cp>WP Bakery plugin must be installed and activated to have this element in editor.\u003C\u002Fp>\n\u003Cp>Some of basic feature using this plugin:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Content restriction based on user role.\u003C\u002Fli>\n\u003Cli>Dynamic heading tag for showing title of section and it will be hide\u002Fshow based on selection.\u003C\u002Fli>\n\u003Cli>Banner image upload for restricted section.\u003C\u002Fli>\n\u003Cli>Set the custom description for section.\u003C\u002Fli>\n\u003Cli>Display message for logged in user or non-logged in user.\u003C\u002Fli>\n\u003Cli>You can show custom message for different users if users is not allowed.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n\u003Cp>Still you have any suggestion \u002F feedback then let us know on \u003Ca href=\"mailto:mohan9a@gmail.com\" rel=\"nofollow ugc\">mohan9a@gmail.com\u003C\u002Fa>.\u003C\u002Fp>\n","An extension for Visual Composer that restrict the content or block based on user role and display message for restricted role as well.",60,1450,"2022-06-29T12:10:00.000Z","6.0.11","3.0.1",[119,56,120,121,122],"content-restriction","restrict-content-wpbakery","wpbakery","wpbakery-content-restrict","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frestrict-content-for-wp-bakery.1.0.0.zip",{"slug":125,"name":126,"version":127,"author":128,"author_profile":129,"description":130,"short_description":131,"active_installs":11,"downloaded":132,"rating":13,"num_ratings":14,"last_updated":133,"tested_up_to":96,"requires_at_least":134,"requires_php":53,"tags":135,"homepage":137,"download_link":138,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"restricted-content-based-on-purchase","Restricted content based on purchase","1.0.3","Maciej Molenda","https:\u002F\u002Fprofiles.wordpress.org\u002Fmaciex777\u002F","\u003Cp>With this plugin, you can mark the content of posts, pages or other products as visible only to users who have purchased the selected product or its variants.\u003C\u002Fp>\n\u003Cp>Major features in Restricted content based on purchase include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>All content can be hidden in a specific post, page or product options or part of it can be hidden with a shortcode.\u003C\u002Fli>\n\u003Cli>You can set a default text to appear in place of restricted content.\u003C\u002Fli>\n\u003Cli>A custom or automatically generated excerpt with a fade out effect may also be shown in place of the restricted content.\u003C\u002Fli>\n\u003Cli>You can set up redirection so that the user who have not purchased the indicated product cannot enter the post and will be redirected to another page.\u003C\u002Fli>\n\u003Cli>WooCommerce is needed for the plugin to work.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The plugin is a simple solution for websites offering paid content such as online magazines, courses, etc., that do not need an extensive system with many features, but instead need the ability to limit the visibility of the content based on the purchase of the product.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Includes the following translations:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Polish (pl_PL)\u003C\u002Fli>\n\u003C\u002Ful>\n","Restricted content for users who have not purchased the indicated product or product variant.",1149,"2026-02-11T09:37:00.000Z","4.0",[136,58],"hidden-content","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Frestricted-content-based-on-purchase","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frestricted-content-based-on-purchase.1.0.3.zip",{"attackSurface":140,"codeSignals":169,"taintFlows":177,"riskAssessment":225,"analyzedAt":228},{"hooks":141,"ajaxHandlers":165,"restRoutes":166,"shortcodes":167,"cronEvents":168,"entryPointCount":27,"unprotectedCount":27},[142,148,152,156,160],{"type":143,"name":144,"callback":145,"file":146,"line":147},"action","init","hncs_load_textdomain","hidden-contents.php",15,{"type":143,"name":149,"callback":150,"file":146,"line":151},"admin_enqueue_scripts","hncs_enqueue_scripts",27,{"type":143,"name":153,"callback":154,"file":146,"line":155},"wp_head","hncs_enqueue_style",31,{"type":143,"name":157,"callback":158,"file":146,"line":159},"admin_menu","hncs_register_settngs_page",46,{"type":161,"name":162,"callback":163,"file":146,"line":164},"filter","the_content","hncs_hide_content",250,[],[],[],[],{"dangerousFunctions":170,"sqlUsage":171,"outputEscaping":173,"fileOperations":27,"externalRequests":27,"nonceChecks":14,"capabilityChecks":49,"bundledLibraries":176},[],{"prepared":27,"raw":27,"locations":172},[],{"escaped":174,"rawEcho":27,"locations":175},21,[],[],[178,211],{"entryPoint":179,"graph":180,"unsanitizedCount":27,"severity":210},"hncs_settngs_page (hidden-contents.php:60)",{"nodes":181,"edges":205},[182,187,192,196,198,202],{"id":183,"type":184,"label":185,"file":146,"line":186},"n0","source","$_POST['hncs_char_show']",90,{"id":188,"type":189,"label":190,"file":146,"line":186,"wp_function":191},"n1","sink","update_option() [Settings Manipulation]","update_option",{"id":193,"type":184,"label":194,"file":146,"line":195},"n2","$_POST['hncs_logo']",92,{"id":197,"type":189,"label":190,"file":146,"line":195,"wp_function":191},"n3",{"id":199,"type":184,"label":200,"file":146,"line":201},"n4","$_POST (x2)",88,{"id":203,"type":189,"label":190,"file":146,"line":204,"wp_function":191},"n5",93,[206,208,209],{"from":183,"to":188,"sanitized":207},true,{"from":193,"to":197,"sanitized":207},{"from":199,"to":203,"sanitized":207},"low",{"entryPoint":212,"graph":213,"unsanitizedCount":27,"severity":210},"\u003Chidden-contents> (hidden-contents.php:0)",{"nodes":214,"edges":221},[215,216,217,218,219,220],{"id":183,"type":184,"label":185,"file":146,"line":186},{"id":188,"type":189,"label":190,"file":146,"line":186,"wp_function":191},{"id":193,"type":184,"label":194,"file":146,"line":195},{"id":197,"type":189,"label":190,"file":146,"line":195,"wp_function":191},{"id":199,"type":184,"label":200,"file":146,"line":201},{"id":203,"type":189,"label":190,"file":146,"line":204,"wp_function":191},[222,223,224],{"from":183,"to":188,"sanitized":207},{"from":193,"to":197,"sanitized":207},{"from":199,"to":203,"sanitized":207},{"summary":226,"deductions":227},"Based on the provided static analysis and vulnerability history, the \"hidden-contents\" v1.0 plugin exhibits a strong security posture. The absence of any identified vulnerabilities, both in the code signals and the historical CVE data, is a significant positive indicator. The plugin effectively utilizes nonces and capability checks for critical operations, adheres to best practices for SQL query preparation, and ensures all output is properly escaped, minimizing the risk of common web vulnerabilities like SQL injection and Cross-Site Scripting (XSS). Furthermore, the attack surface appears to be minimal and well-secured, with no unprotected entry points found.\n\nWhile the plugin demonstrates excellent security hygiene in its current version, the extremely limited attack surface (zero AJAX handlers, REST API routes, shortcodes, or cron events) and the lack of any complex functionality might contribute to its current unblemished record. This could mean the plugin is very simple and doesn't expose many opportunities for attackers. The vulnerability history being completely clear further reinforces this positive assessment. However, it's always prudent to maintain vigilance, as even simple plugins can sometimes harbor unexpected issues when integrated into complex WordPress environments or when new attack vectors emerge.",[],"2026-03-17T01:17:17.402Z",{"wat":230,"direct":246},{"assetPaths":231,"generatorPatterns":236,"scriptPaths":237,"versionParams":242},[232,233,234,235],"\u002Fwp-content\u002Fplugins\u002Fhidden-contents\u002Fassets\u002Fjs\u002Fhidden-contents.js","\u002Fwp-content\u002Fplugins\u002Fhidden-contents\u002Fassets\u002Fcss\u002Fhidden-contents-admin.css","\u002Fwp-content\u002Fplugins\u002Fhidden-contents\u002Fassets\u002Fcss\u002Fhidden-contents.css","\u002Fwp-content\u002Fplugins\u002Fhidden-contents\u002Fassets\u002Fjs\u002Fwb-upload.js",[],[238,239,240,241],"assets\u002Fjs\u002Fhidden-contents.js","assets\u002Fcss\u002Fhidden-contents-admin.css","assets\u002Fcss\u002Fhidden-contents.css","assets\u002Fjs\u002Fwb-upload.js",[243,244,245],"hidden-contents-admin.css?ver=","hidden-contents.css?ver=","hidden-contents.js?ver=",{"cssClasses":247,"htmlComments":249,"htmlAttributes":250,"restEndpoints":254,"jsGlobals":255,"shortcodeOutput":258},[248],"wpanel-uploader",[],[251,252,253],"data-placeholder","data-toggle","data-target",[],[256,257],"hncsTextArea","tagify",[]]