[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fu2wQxgZQpr1IhxlJqDP6Jayj8K5maxjyuI1g-noTt50":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":17,"tags":18,"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":38,"analysis":147,"fingerprints":295},"bbp-contacts","bbPress Contacts","0.2.1","DevriX","https:\u002F\u002Fprofiles.wordpress.org\u002Fdevrix\u002F","\u003Cp>bbPress Contacts allows you to add contact and bookmarking customizable buttons (add contact\u002Fremove contact) to bbPress profiles, and in the forums below topics and replies author details.\u003C\u002Fp>\n\u003Cp>These buttons will permit logged in members to add this user as contact or remove them as contact.\u003C\u002Fp>\n\u003Cp>A contacts section is added to the bbPress profile of current user, allowing them to:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>View bookmarked users and contacts\u003C\u002Fli>\n\u003Cli>Search these users\u003C\u002Fli>\n\u003Cli>Quick removing a contact with a small cross button\u003C\u002Fli>\n\u003Cli>Paginating through these results.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Also, AJAX can be enabled (enabled by default) to process buttons faster, and process the search, pagination and list the available contacts in the bbPress profile page.\u003C\u002Fp>\n\u003Cp>You can set it up the way you want, bbPress Contacts is translation-ready and easy to customize, so you can possibly rename “Add Contact” to “Bookmark” or “Add as Friend”, etc.\u003C\u002Fp>\n\u003Cp>I will write a blog post about using and customizing this plugin. Be sure to check https:\u002F\u002Fblog.samelh.com\u003C\u002Fp>\n\u003Cp>This project is also available on Github, fork it from there, or open new issues for bug reporting, or feature suggestion, or imporvement.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>See my other \u003Ca href=\"https:\u002F\u002Fcodecanyon.net\u002Fcollections\u002F5612972-bbpress-plugins\" rel=\"nofollow ugc\">bbPress premium plugins\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fsamelh.com\u002Fwork-with-me\u002F\" rel=\"nofollow ugc\">Hire me\u003C\u002Fa> for a custom bbPress plugin\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>More docs coming soon.\u003C\u002Fp>\n","Allow your bbPress users to bookmark other users easily and view\u002Fsearch them through their bbP profiles.",10,2225,100,2,"2016-11-23T10:51:00.000Z","4.6.30","",[19,20,21,22,23],"bbpress","bookmarks","contacts","members","users","https:\u002F\u002Fsamelh.com\u002Fwordpress-plugins\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbbp-contacts.0.2.1.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":26,"computed_at":37},"devrix",12,670,87,9,"2026-04-04T15:27:47.339Z",[39,62,85,106,128],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":49,"num_ratings":50,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":17,"tags":54,"homepage":58,"download_link":59,"security_score":60,"vuln_count":14,"unpatched_count":27,"last_vuln_date":61,"fetched_at":29},"one-user-avatar","One User Avatar | User Profile Picture","2.5.4","One Designs","https:\u002F\u002Fprofiles.wordpress.org\u002Fonedesigns\u002F","\u003Cp>WordPress currently only allows you to use custom avatars that are uploaded through \u003Ca href=\"http:\u002F\u002Fgravatar.com\u002F\" rel=\"nofollow ugc\">Gravatar\u003C\u002Fa>. \u003Cstrong>One User Avatar\u003C\u002Fstrong> enables you to use any photo uploaded into your Media Library as an avatar. This means you use the same uploader and library as your posts. No extra folders or image editing functions are necessary. This plugin is a fork of WP User Avatar v2.2.16.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>One User Avatar\u003C\u002Fstrong> also lets you:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Upload your own Default Avatar in your One User Avatar settings.\u003C\u002Fli>\n\u003Cli>Show the user’s \u003Ca href=\"http:\u002F\u002Fgravatar.com\u002F\" rel=\"nofollow ugc\">Gravatar\u003C\u002Fa> avatar or Default Avatar if the user doesn’t have a One User Avatar image.\u003C\u002Fli>\n\u003Cli>Disable \u003Ca href=\"http:\u002F\u002Fgravatar.com\u002F\" rel=\"nofollow ugc\">Gravatar\u003C\u002Fa> avatars and use only local avatars.\u003C\u002Fli>\n\u003Cli>Use the \u003Ccode>[avatar_upload]\u003C\u002Fcode> shortcode to add a standalone uploader to a front page or widget. This uploader is only visible to logged-in users.\u003C\u002Fli>\n\u003Cli>Use the \u003Ccode>[avatar]\u003C\u002Fcode> shortcode in your posts. These shortcodes will work with any theme, whether it has avatar support or not.\u003C\u002Fli>\n\u003Cli>Allow Contributors and Subscribers to upload their own avatars.\u003C\u002Fli>\n\u003Cli>Limit upload file size and image dimensions for Contributors and Subscribers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Copyright\u003C\u002Fh3>\n\u003Cp>One User Avatar\u003Cbr \u002F>\nCopyright (c) 2023 One Designs https:\u002F\u002Fonedesigns.com\u002F\u003Cbr \u002F>\nLicense: GPLv2\u003Cbr \u002F>\nSource: https:\u002F\u002Fgithub.com\u002Fonedesigns\u002Fone-user-avatar\u003C\u002Fp>\n\u003Cp>One User Avatar is based on WP User Avatar v2.2.16\u003Cbr \u002F>\nCopyright (c) 2020-2021 ProfilePress https:\u002F\u002Fprofilepress.net\u002F\u003Cbr \u002F>\nCopyright (c) 2014-2020 Flippercode https:\u002F\u002Fwww.flippercode.com\u002F\u003Cbr \u002F>\nCopyright (c) 2013-2014 Bangbay Siboliban http:\u002F\u002Fbangbay.com\u002F\u003Cbr \u002F>\nLicense: GPLv2\u003Cbr \u002F>\nSource: https:\u002F\u002Fgithub.com\u002Fprofilepress\u002Fwp-user-avatar\u003C\u002Fp>\n\u003Cp>One User Avatar is distributed under the terms of the GNU GPL\u003C\u002Fp>\n\u003Cp>This program is free software: you can redistribute it and\u002For modify\u003Cbr \u002F>\nit under the terms of the GNU General Public License as published by\u003Cbr \u002F>\nthe Free Software Foundation, either version 2 of the License, or\u003Cbr \u002F>\n(at your option) any later version.\u003C\u002Fp>\n\u003Cp>This program is distributed in the hope that it will be useful,\u003Cbr \u002F>\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\u003Cbr \u002F>\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\u003Cbr \u002F>\nGNU General Public License for more details.\u003C\u002Fp>\n\u003Ch3>Advanced Settings\u003C\u002Fh3>\n\u003Ch4>Add One User Avatar to your own profile edit page\u003C\u002Fh4>\n\u003Cp>You can use the [avatar_upload] shortcode to add a standalone uploader to any page. It’s best to use this uploader by itself and without other profile fields.\u003C\u002Fp>\n\u003Cp>If you’re building your own profile edit page with other fields, One User Avatar is automatically added to the \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FPlugin_API\u002FAction_Reference\u002Fshow_user_profile\" rel=\"nofollow ugc\">show_user_profile\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FPlugin_API\u002FAction_Reference\u002Fshow_user_profile\" rel=\"nofollow ugc\">edit_user_profile\u003C\u002Fa> hooks. If you’d rather have One User Avatar in its own section, you could add another hook:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>do_action( 'edit_user_avatar', $current_user );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then, to add One User Avatar to that hook and remove it from the other hooks outside of the administration panel, you would add this code to the \u003Ccode>functions.php\u003C\u002Fcode> file of your theme:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>function my_avatar_filter() {\n    \u002F\u002F Remove from show_user_profile hook\n    remove_action( 'show_user_profile', array( 'wp_user_avatar', 'wpua_action_show_user_profile' ) );\n    remove_action( 'show_user_profile', array( 'wp_user_avatar', 'wpua_media_upload_scripts' ) );\n\n    \u002F\u002F Remove from edit_user_profile hook\n    remove_action( 'edit_user_profile', array( 'wp_user_avatar', 'wpua_action_show_user_profile' ) );\n    remove_action( 'edit_user_profile', array( 'wp_user_avatar', 'wpua_media_upload_scripts' ) );\n\n    \u002F\u002F Add to edit_user_avatar hook\n    add_action( 'edit_user_avatar', array( 'wp_user_avatar', 'wpua_action_show_user_profile' ) );\n    add_action( 'edit_user_avatar', array( 'wp_user_avatar', 'wpua_media_upload_scripts' ) );\n}\n\n\u002F\u002F Loads only outside of administration panel\nif ( ! is_admin() ) {\n    add_action( 'init','my_avatar_filter' );\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>HTML Wrapper\u003C\u002Fh4>\n\u003Cp>You can change the HTML wrapper of the One User Avatar section by using the functions \u003Ccode>wpua_before_avatar\u003C\u002Fcode> and \u003Ccode>wpua_after_avatar\u003C\u002Fcode>. By default, the avatar code is structured like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cdiv class=\"wpua-edit-container\">\n    \u003Ch3>Avatar\u003C\u002Fh3>\n    \u003Cinput type=\"hidden\" name=\"wp-user-avatar\" id=\"wp-user-avatar\" value=\"{attachmentID}\" \u002F>\n    \u003Cp id=\"wpua-add-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-add\" name=\"wpua-add\">Edit Image\u003C\u002Fbutton>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-preview\">\n        \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n        Original Size\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-thumbnail\">\n        \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n        Thumbnail\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-remove-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-remove\" name=\"wpua-remove\">Default Avatar\u003C\u002Fbutton>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-undo-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-undo\" name=\"wpua-undo\">Undo\u003C\u002Fbutton>\n    \u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To strip out the div container and h3 heading, you would add the following filters to the \u003Ccode>functions.php\u003C\u002Fcode> file in your theme:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>remove_action( 'wpua_before_avatar', 'wpua_do_before_avatar' );\nremove_action( 'wpua_after_avatar', 'wpua_do_after_avatar' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To add your own wrapper, you could create something like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>function my_before_avatar() {\n    echo '\u003Cdiv id=\"my-avatar\">';\n}\nadd_action( 'wpua_before_avatar', 'my_before_avatar' );\n\nfunction my_after_avatar() {\n    echo '\u003C\u002Fdiv>';\n}\nadd_action( 'wpua_after_avatar', 'my_after_avatar' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This would output:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cdiv id=\"my-avatar\">\n    \u003Cinput type=\"hidden\" name=\"wp-user-avatar\" id=\"wp-user-avatar\" value=\"{attachmentID}\" \u002F>\n    \u003Cp id=\"wpua-add-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-add\" name=\"wpua-add\">Edit Image\u003C\u002Fbutton>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-preview\">\n        \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n        \u003Cspan class=\"description\">Original Size\u003C\u002Fspan>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-thumbnail\">\n        \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n        \u003Cspan class=\"description\">Thumbnail\u003C\u002Fspan>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-remove-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-remove\" name=\"wpua-remove\">Default Avatar\u003C\u002Fbutton>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-undo-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-undo\" name=\"wpua-undo\">Undo\u003C\u002Fbutton>\n    \u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Use any image from your WordPress Media Library as a custom user avatar or user profile picture. Add your own Default Avatar.",100000,490816,94,41,"2026-01-12T00:58:00.000Z","6.9.4","4.0",[55,19,56,57,23],"avatar","gravatar","profile","https:\u002F\u002Fonedesigns.com\u002Fplugins\u002Fone-user-avatar\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fone-user-avatar.2.5.4.zip",99,"2021-09-20 00:00:00",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":72,"num_ratings":49,"last_updated":73,"tested_up_to":74,"requires_at_least":75,"requires_php":76,"tags":77,"homepage":82,"download_link":83,"security_score":60,"vuln_count":14,"unpatched_count":27,"last_vuln_date":84,"fetched_at":29},"restrict-user-access","Restrict User Access – Ultimate Membership & Content Protection","2.8","Joachim Jensen","https:\u002F\u002Fprofiles.wordpress.org\u002Fintoxstudio\u002F","\u003Cp>\u003Cstrong>Restrict User Access is a fast and simple Membership Plugin for WordPress. Restrict your content in minutes, NOT hours.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Quickly set up a paid membership site where your users can get different levels such as Platinum, Gold, or Free. Then, grant those levels when a user purchases a product in WooCommerce.\u003C\u002Fp>\n\u003Ch3>👥 Unlimited Access Levels\u003C\u002Fh3>\n\u003Cp>Users can have multiple levels, and you control how long memberships should last. When unauthorized users try to access restricted content, you can redirect them to another URL or display a teaser.\u003C\u002Fp>\n\u003Ch3>⚡ Level Membership Automations\u003C\u002Fh3>\n\u003Cp>Automatically add levels to your users based on something they do (Triggers) or something they are (Traits):\u003C\u002Fp>\n\u003Cul>\n\u003Cli>User Registration\u003C\u002Fli>\n\u003Cli>User Roles\u003C\u002Fli>\n\u003Cli>Logged-in or Guests\u003C\u002Fli>\n\u003Cli>WooCommerce Purchases\u003C\u002Fli>\n\u003Cli>Easy Digital Downloads Purchases\u003C\u002Fli>\n\u003Cli>BuddyPress Member Types\u003C\u002Fli>\n\u003Cli>GiveWP Donations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🔒 Contextual Content Protection\u003C\u002Fh3>\n\u003Cp>Prevent unauthorized users from visiting your posts, pages, or categories. You can even combine the conditions: protect all posts tagged “Premium” written by a select author.\u003C\u002Fp>\n\u003Cp>The following Access Conditions are available out of the box:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Posts, Pages & Custom Post Types\u003C\u002Fli>\n\u003Cli>Content with Tags, Categories, or Custom Taxonomies\u003C\u002Fli>\n\u003Cli>Content written by select Authors\u003C\u002Fli>\n\u003Cli>Page Templates\u003C\u002Fli>\n\u003Cli>Blog Page & Post Type Archives\u003C\u002Fli>\n\u003Cli>Author Archives\u003C\u002Fli>\n\u003Cli>Taxonomy Archives\u003C\u002Fli>\n\u003Cli>Front Page, Search Results, 404 Not Found Page\u003C\u002Fli>\n\u003Cli>bbPress Profiles, Forums & Topics\u003C\u002Fli>\n\u003Cli>BuddyPress Profile Sections\u003C\u002Fli>\n\u003Cli>Languages (Polylang, qTranslate X, TranslatePress, Transposh, Weglot, WPML)\u003C\u002Fli>\n\u003Cli>Pods Pages\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Note that Access Conditions do not apply to content displayed in lists.\u003C\u002Fp>\n\u003Ch3>✅ Grant & Deny Capabilities\u003C\u002Fh3>\n\u003Cp>The easy-to-use WordPress User Manager gives you full control over the capabilities the members should or shouldn’t have. Access Level Capabilities will override the permissions set by roles or other plugins.\u003C\u002Fp>\n\u003Ch3>👁️ Hide Admin Bar & Nav Menu Visibility\u003C\u002Fh3>\n\u003Cp>Disable the admin bar for select levels and control what menu items members can see. You can even hide any widget area created with \u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002F?utm_source=readme&utm_medium=referral&utm_content=section&utm_campaign=rua\" rel=\"nofollow ugc\">Content Aware Sidebars\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>🤖 Restrict Content from Other Plugins\u003C\u002Fh3>\n\u003Cp>Restrict User Access autodetects Custom Post Types and Taxonomies created by any plugin or theme. Built-in support for some of the most popular WordPress plugins means that you e.g. can restrict access to bbPress forums or multilingual content.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>bbPress\u003C\u002Fli>\n\u003Cli>BuddyPress\u003C\u002Fli>\n\u003Cli>Easy Digital Downloads\u003C\u002Fli>\n\u003Cli>Pods\u003C\u002Fli>\n\u003Cli>Polylang\u003C\u002Fli>\n\u003Cli>TranslatePress\u003C\u002Fli>\n\u003Cli>WooCommerce\u003C\u002Fli>\n\u003Cli>Weglot\u003C\u002Fli>\n\u003Cli>WPML\u003C\u002Fli>\n\u003Cli>and more …\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🛡️ WordPress Security Enhancements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>WP REST API Content Protection\u003C\u002Fstrong>\u003Cbr \u002F>\nEnforces PoLA to minimize attack surfaces and stop threat actors from harvesting your data\u003C\u002Fli>\n\u003Cli>\u003Cstrong>How to display content in lists\u003C\u002Fstrong>\u003Cbr \u002F>\nDisplay excerpts only or hide content when post types are displayed in blog, archives, search results, lists, etc.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>📑 Restrict Content with Shortcodes\u003C\u002Fh3>\n\u003Cp>Fine-tune content visibility in your posts or pages by adding simple shortcodes:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[restrict level=\"platinum\"]\nThis content can only be seen by users with Platinum level or above.\n[\u002Frestrict]\n\n[restrict level=\"!platinum\"]\nThis content can only be seen by users without Platinum level or above.\n[\u002Frestrict]\n\n[restrict role=\"editor,contributor\" page=\"1\"]\nThis content can only be seen by editors and contributors.\nOther users will see content from page with ID 1.\n[\u002Frestrict]\n\n[login-form]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>👋 Developer-friendly API\u003C\u002Fh3>\n\u003Cp>Restrict User Access makes it super easy for developers to programmatically customize WordPress access control by adding a few lines of code to theme templates.\u003C\u002Fp>\n\u003Ch4>Example – Add level to current user\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>rua_get_user()->add_level($level_id);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Example – Check if current user has an active level membership\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>if(rua_get_user()->has_level($level_id)) {\n    \u002F\u002Fshow restricted content\n} else {\n    \u002F\u002Fshow content if unauthorized\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fdocs\u002Frestrict-user-access\u002Fdeveloper-api\u002F?utm_source=readme&utm_medium=referral&utm_content=section&utm_campaign=rua\" rel=\"nofollow ugc\">View full RUA PHP API documentation here.\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>🎛️ Premium Add-ons for Restrict User Access\u003C\u002Fh3>\n\u003Cp>Complete your WordPress membership site with these powerful extensions\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fproducts\u002Fcategory\u002Frestrict-user-access\u002F?utm_source=readme&utm_medium=referral&utm_content=acf&utm_campaign=rua\" rel=\"nofollow ugc\">ACF Restriction\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nRestrict content that contain data from Advanced Custom Fields plugin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fproducts\u002Fcategory\u002Frestrict-user-access\u002F?utm_source=readme&utm_medium=referral&utm_content=date&utm_campaign=rua\" rel=\"nofollow ugc\">Date Restriction\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nRestrict content based on the time it was published\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fproducts\u002Fcategory\u002Frestrict-user-access\u002F?utm_source=readme&utm_medium=referral&utm_content=metabox&utm_campaign=rua\" rel=\"nofollow ugc\">Meta Box Restriction\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nRestrict content that contain data from Meta Box plugin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fproducts\u002Fcategory\u002Frestrict-user-access\u002F?utm_source=readme&utm_medium=referral&utm_content=timelock&utm_campaign=rua\" rel=\"nofollow ugc\">Timelock\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nDetermine when to enable or disable select Access Conditions\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fproducts\u002Fcategory\u002Frestrict-user-access\u002F?utm_source=readme&utm_medium=referral&utm_content=url&utm_campaign=rua\" rel=\"nofollow ugc\">URL Restriction\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nRestrict content based on the WordPress URL, with wildcard support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fproducts\u002Fcategory\u002Frestrict-user-access\u002F?utm_source=readme&utm_medium=referral&utm_content=visibility&utm_campaign=rua\" rel=\"nofollow ugc\">Visibility Control\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nHide content from blog, search results, archives, custom lists, WP REST API, and more\u003C\u002Fli>\n\u003C\u002Ful>\n","Create Access Levels and restrict any post, page, category, etc. Supports bbPress, BuddyPress, WooCommerce, WPML, and more.",10000,617933,86,"2025-10-06T06:48:00.000Z","6.8.5","5.8","7.2",[78,19,79,80,81],"access-control","capabilities","content-restriction","membership","https:\u002F\u002Fdev.institute\u002Fwordpress-memberships\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frestrict-user-access.2.8.zip","2024-03-18 00:00:00",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":93,"downloaded":94,"rating":13,"num_ratings":95,"last_updated":96,"tested_up_to":52,"requires_at_least":97,"requires_php":17,"tags":98,"homepage":102,"download_link":103,"security_score":60,"vuln_count":104,"unpatched_count":27,"last_vuln_date":105,"fetched_at":29},"simple-membership-custom-messages","Simple Membership Custom Messages","2.6","wp.insider","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpinsider-1\u002F","\u003Cp>This addon allows you to customize the content protection message that gets output from the membership plugin.\u003C\u002Fp>\n\u003Cp>You will be able to specify your custom messages for different types of protection message.\u003C\u002Fp>\n\u003Cp>This addon requires the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsimple-membership\u002F\" rel=\"ugc\">Simple Membership Plugin\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>After you install this addon, go to the “Custom Message” menu from the admin dashboard to use it.\u003C\u002Fp>\n\u003Cp>Read \u003Ca href=\"https:\u002F\u002Fsimple-membership-plugin.com\u002Fsimple-membership-custom-messages-addon\u002F\" rel=\"nofollow ugc\">Usage Documentation\u003C\u002Fa>\u003C\u002Fp>\n","Simple Membership Addon to customize various content protection messages.",7000,111926,4,"2026-01-04T01:19:00.000Z","6.0",[99,81,100,101,23],"custom","message","protection-message","https:\u002F\u002Fsimple-membership-plugin.com\u002Fsimple-membership-custom-messages-addon\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-membership-custom-messages.2.6.zip",1,"2025-01-18 00:00:00",{"slug":107,"name":108,"version":109,"author":110,"author_profile":111,"description":112,"short_description":113,"active_installs":114,"downloaded":115,"rating":13,"num_ratings":116,"last_updated":117,"tested_up_to":52,"requires_at_least":118,"requires_php":17,"tags":119,"homepage":123,"download_link":124,"security_score":125,"vuln_count":126,"unpatched_count":27,"last_vuln_date":127,"fetched_at":29},"bp-profile-search","BP Profile Search","5.8.3","Andrea Tarantini","https:\u002F\u002Fprofiles.wordpress.org\u002Fdontdream\u002F","\u003Cp>BP Profile Search is a member search and member directories plugin for BuddyPress. It provides:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>A form builder to build the member search forms\u003C\u002Fli>\n\u003Cli>The [bps_directory] shortcode to customize the BuddyPress Members directory, or to build additional member directories\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Each search form has a \u003Cem>target directory\u003C\u002Fem>. When you run a search, you are redirected to the form’s target directory, filtered according to your search.\u003C\u002Fp>\n\u003Ch4>Build a search form\u003C\u002Fh4>\n\u003Cp>With the form builder you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Add, edit, rearrange, and remove the search fields\u003C\u002Fli>\n\u003Cli>Use as search fields the BuddyPress profile fields, the \u003Cem>users\u003C\u002Fem> and \u003Cem>usermeta\u003C\u002Fem> data (including roles), the BuddyPress user groups, and the user taxonomies (including BuddyPress member types)\u003C\u002Fli>\n\u003Cli>Use \u003Cem>search by distance\u003C\u002Fem> fields when you install the free companion plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbp-distance-search\u002F\" rel=\"ugc\">BP Distance Search\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Select, for each search field, one of the available search modes\u003C\u002Fli>\n\u003Cli>Select the BuddyPress Members directory, or one of the member directories built with this plugin, as the target directory\u003C\u002Fli>\n\u003Cli>Select the form template to display your form\u003C\u002Fli>\n\u003Cli>If in doubt, use the \u003Cem>Help\u003C\u002Fem> tab above the screen title\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The form template works just like any other BuddyPress template. To override a form template, copy it to the \u003Cem>buddypress\u002Fmembers\u003C\u002Fem> directory in your theme’s root, then edit the new copy according to your needs.\u003C\u002Fp>\n\u003Ch4>Display a search form\u003C\u002Fh4>\n\u003Cp>After you build your search form, you can display it:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>In its target directory, using the option \u003Cem>Add Form to Directory\u003C\u002Fem> in the form settings\u003C\u002Fli>\n\u003Cli>In a sidebar or widget area, using the widget \u003Cem>Profile Search\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>In a post or page, using the shortcode [bps_form]\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Run a search\u003C\u002Fh4>\n\u003Cp>On the front-end, when you hit the \u003Cem>Search\u003C\u002Fem> button in a form, BP Profile Search shows the form’s target directory filtered according to your search. Both the \u003Cem>All Members\u003C\u002Fem> tab and the \u003Cem>My Friends\u003C\u002Fem> tab are filtered.\u003C\u002Fp>\n\u003Cp>Additionally, the plugin:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Displays an \u003Cem>active filters\u003C\u002Fem> section containing the active search filters and a \u003Cem>Clear\u003C\u002Fem> button to clear them\u003C\u002Fli>\n\u003Cli>Displays for each member a \u003Cem>member details\u003C\u002Fem> section containing the values of the searched fields\u003C\u002Fli>\n\u003Cli>Adds to the \u003Cem>Order By\u003C\u002Fem> drop-down the options to sort the directory by the searched fields\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The \u003Cem>active filters\u003C\u002Fem> section and the \u003Cem>member details\u003C\u002Fem> section are displayed by two dedicated templates, that can be overridden just like any other BuddyPress template.\u003C\u002Fp>\n\u003Ch4>Build a member directory\u003C\u002Fh4>\n\u003Cp>With the [bps_directory] shortcode you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Customize the BuddyPress Members directory, or build additional member directories\u003C\u002Fli>\n\u003Cli>Add hidden filters to a directory\u003C\u002Fli>\n\u003Cli>Add more sort options to a directory\u003C\u002Fli>\n\u003Cli>Show additional member information in each \u003Cem>member details\u003C\u002Fem> section, e.g. the value of profile fields\u003C\u002Fli>\n\u003Cli>Use a different Members directory template for each directory\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can enter the shortcode in an empty page to build a new member directory, or you can enter it in the BuddyPress Members page to customize the BuddyPress Members directory.\u003C\u002Fp>\n\u003Ch4>Additional documentation\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.dontdream.it\u002Fbp-profile-search\u002Fform-builder\u002F\" rel=\"nofollow ugc\">Form Builder\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdontdream.it\u002Fbp-profile-search\u002Fsearch-modes\u002F\" rel=\"nofollow ugc\">Search Modes\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdontdream.it\u002Fbp-profile-search\u002Fcustom-directories\u002F\" rel=\"nofollow ugc\">Custom Directories\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdontdream.it\u002Fbp-profile-search\u002Fform-templates\u002F\" rel=\"nofollow ugc\">Form Templates\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>In the screenshots below, the \u003Cem>City\u003C\u002Fem> field is provided by the free companion plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbp-distance-search\u002F\" rel=\"ugc\">BP Distance Search\u003C\u002Fa>.\u003C\u002Fp>\n","Member search and member directories for BuddyPress and the BuddyBoss Platform.",6000,669034,71,"2025-12-14T16:30:00.000Z","6.1",[120,121,22,122,23],"buddypress","directory","search","https:\u002F\u002Fdontdream.it\u002Fbp-profile-search\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-profile-search.5.8.3.zip",95,3,"2024-08-19 13:39:17",{"slug":129,"name":130,"version":131,"author":132,"author_profile":133,"description":134,"short_description":135,"active_installs":136,"downloaded":137,"rating":138,"num_ratings":139,"last_updated":140,"tested_up_to":52,"requires_at_least":53,"requires_php":141,"tags":142,"homepage":17,"download_link":146,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"expire-user-passwords","Expire User Passwords","1.4.2","Matt Miller","https:\u002F\u002Fprofiles.wordpress.org\u002Fmillermedianow\u002F","\u003Cp>Note: This is a forked version of the now unsupported \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fexpire-passwords\u002F\" rel=\"ugc\">Expire Passwords\u003C\u002Fa> plugin. The notes below are copied over from the original plugin and will be updated as relevant updates become available. Please help by contributing to the GitHub repository \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMiller-Media\u002Fexpire-passwords\" rel=\"nofollow ugc\">Expire Passwords\u003C\u002Fa> on GitHub\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Did you find this plugin helpful? Please consider \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fview\u002Fplugin-reviews\u002Fexpire-user-passwords\" rel=\"ugc\">leaving a 5-star review\u003C\u002Fa>.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Harden the security of your site by preventing unauthorized access to stale user accounts.\u003C\u002Fp>\n\u003Cp>This plugin is also ideal for sites needing to meet certain industry security compliances – such as government, banking or healthcare.\u003C\u002Fp>\n\u003Cp>In the plugin settings you can set the maximum number of days users are allowed to use the same password (90 days by default), as well as which user roles will be required to reset their passwords regularly (non-Administrators by default).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Languages supported:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Albanian (Shqip)\u003C\u002Fli>\n\u003Cli>Arabic (العربية)\u003C\u002Fli>\n\u003Cli>Armenian (Հայերեն)\u003C\u002Fli>\n\u003Cli>Basque (Euskara)\u003C\u002Fli>\n\u003Cli>Bengali (বাংলা)\u003C\u002Fli>\n\u003Cli>Bulgarian (Български)\u003C\u002Fli>\n\u003Cli>Catalan (Català)\u003C\u002Fli>\n\u003Cli>Chinese Simplified (简体中文)\u003C\u002Fli>\n\u003Cli>Croatian (Hrvatski)\u003C\u002Fli>\n\u003Cli>Czech (Čeština)\u003C\u002Fli>\n\u003Cli>Danish (Dansk)\u003C\u002Fli>\n\u003Cli>Dutch (Nederlands)\u003C\u002Fli>\n\u003Cli>Estonian (Eesti)\u003C\u002Fli>\n\u003Cli>Finnish (Suomi)\u003C\u002Fli>\n\u003Cli>French (Français)\u003C\u002Fli>\n\u003Cli>Galician (Galego)\u003C\u002Fli>\n\u003Cli>Georgian (ქართული)\u003C\u002Fli>\n\u003Cli>German (Deutsch)\u003C\u002Fli>\n\u003Cli>Greek (Ελληνικά)\u003C\u002Fli>\n\u003Cli>Hebrew (עברית)\u003C\u002Fli>\n\u003Cli>Hindi (हिन्दी)\u003C\u002Fli>\n\u003Cli>Hungarian (Magyar)\u003C\u002Fli>\n\u003Cli>Indonesian (Bahasa Indonesia)\u003C\u002Fli>\n\u003Cli>Irish (Gaeilge)\u003C\u002Fli>\n\u003Cli>Italian (Italiano)\u003C\u002Fli>\n\u003Cli>Japanese (日本語)\u003C\u002Fli>\n\u003Cli>Korean (한국어)\u003C\u002Fli>\n\u003Cli>Latvian (Latviešu)\u003C\u002Fli>\n\u003Cli>Lithuanian (Lietuvių)\u003C\u002Fli>\n\u003Cli>Macedonian (Македонски)\u003C\u002Fli>\n\u003Cli>Norwegian (Norsk)\u003C\u002Fli>\n\u003Cli>Persian (فارسی)\u003C\u002Fli>\n\u003Cli>Persian – Afghanistan (دری)\u003C\u002Fli>\n\u003Cli>Polish (Polski)\u003C\u002Fli>\n\u003Cli>Portuguese – Brazil (Português do Brasil)\u003C\u002Fli>\n\u003Cli>Portuguese – Portugal (Português)\u003C\u002Fli>\n\u003Cli>Romanian (Română)\u003C\u002Fli>\n\u003Cli>Russian (Русский)\u003C\u002Fli>\n\u003Cli>Serbian (Српски)\u003C\u002Fli>\n\u003Cli>Slovak (Slovenčina)\u003C\u002Fli>\n\u003Cli>Slovenian (Slovenščina)\u003C\u002Fli>\n\u003Cli>Spanish (Español)\u003C\u002Fli>\n\u003Cli>Swedish (Svenska)\u003C\u002Fli>\n\u003Cli>Tamil (தமிழ்)\u003C\u002Fli>\n\u003Cli>Thai (ไทย)\u003C\u002Fli>\n\u003Cli>Turkish (Türkçe)\u003C\u002Fli>\n\u003Cli>Ukrainian (Українська)\u003C\u002Fli>\n\u003Cli>Urdu (اردو)\u003C\u002Fli>\n\u003Cli>Vietnamese (Tiếng Việt)\u003C\u002Fli>\n\u003Cli>Welsh (Cymraeg)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Development of this plugin is done \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMiller-Media\u002Fexpire-passwords\" rel=\"nofollow ugc\">on GitHub\u003C\u002Fa>. Pull requests welcome. Please see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMiller-Media\u002Fexpire-passwords\u002Fissues\" rel=\"nofollow ugc\">issues reported\u003C\u002Fa> there before going to the plugin forum.\u003C\u002Fstrong>\u003C\u002Fp>\n","Require certain users to change their passwords on a regular basis.",3000,57937,84,5,"2026-02-17T09:27:00.000Z","8.1",[143,81,144,145,23],"login","passwords","security","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexpire-user-passwords.1.4.2.zip",{"attackSurface":148,"codeSignals":200,"taintFlows":219,"riskAssessment":282,"analyzedAt":294},{"hooks":149,"ajaxHandlers":188,"restRoutes":197,"shortcodes":198,"cronEvents":199,"entryPointCount":14,"unprotectedCount":104},[150,156,161,165,168,172,176,180,184],{"type":151,"name":152,"callback":153,"file":154,"line":155},"action","admin_menu","AdminMenu","Includes\\Admin\\Loader.php",11,{"type":157,"name":158,"callback":159,"priority":11,"file":154,"line":160},"filter","plugin_row_meta","pushRowMetaLinks",13,{"type":151,"name":162,"callback":163,"file":164,"line":160},"bbp_template_after_user_profile","parseProfileButton","Includes\\Core\\Loader.php",{"type":151,"name":162,"callback":166,"file":164,"line":167},"parseProfileContacts",15,{"type":151,"name":169,"callback":170,"file":164,"line":171},"init","manageHeaders",17,{"type":151,"name":173,"callback":174,"file":164,"line":175},"wp_enqueue_scripts","enqueueScripts",19,{"type":151,"name":177,"callback":178,"file":164,"line":179},"bbp_theme_after_reply_author_details","parseForumsButton",21,{"type":157,"name":181,"callback":182,"file":164,"line":183},"bbpc_enable_ajax","applySettingsAjax",23,{"type":157,"name":185,"callback":186,"file":164,"line":187},"bbpc_items_per_page","applySettingsPagination",25,[189,194],{"action":190,"nopriv":191,"callback":192,"hasNonce":193,"hasCapCheck":191,"file":164,"line":36},"bbp_contacts",false,"ajaxCallback",true,{"action":195,"nopriv":191,"callback":196,"hasNonce":191,"hasCapCheck":191,"file":164,"line":155},"bbp_contacts_list","parseProfileContactsAjax",[],[],[],{"dangerousFunctions":201,"sqlUsage":202,"outputEscaping":204,"fileOperations":27,"externalRequests":27,"nonceChecks":126,"capabilityChecks":27,"bundledLibraries":218},[],{"prepared":27,"raw":27,"locations":203},[],{"escaped":205,"rawEcho":139,"locations":206},14,[207,211,213,215,216],{"file":208,"line":209,"context":210},"Includes\\Admin\\Screen.php",93,"raw output",{"file":208,"line":212,"context":210},192,{"file":208,"line":214,"context":210},195,{"file":208,"line":214,"context":210},{"file":164,"line":217,"context":210},393,[],[220,238,250,261,269],{"entryPoint":221,"graph":222,"unsanitizedCount":104,"severity":237},"manageHeaders (Includes\\Core\\Loader.php:274)",{"nodes":223,"edges":235},[224,229],{"id":225,"type":226,"label":227,"file":164,"line":228},"n0","source","$_SERVER",314,{"id":230,"type":231,"label":232,"file":164,"line":233,"wp_function":234},"n1","sink","wp_redirect() [Open Redirect]",317,"wp_redirect",[236],{"from":225,"to":230,"sanitized":191},"medium",{"entryPoint":239,"graph":240,"unsanitizedCount":104,"severity":237},"parseProfileContacts (Includes\\Core\\Loader.php:347)",{"nodes":241,"edges":248},[242,245],{"id":225,"type":226,"label":243,"file":164,"line":244},"$_REQUEST",367,{"id":230,"type":231,"label":246,"file":164,"line":217,"wp_function":247},"echo() [XSS]","echo",[249],{"from":225,"to":230,"sanitized":191},{"entryPoint":251,"graph":252,"unsanitizedCount":27,"severity":260},"settings (Includes\\Admin\\Screen.php:41)",{"nodes":253,"edges":258},[254,257],{"id":225,"type":226,"label":255,"file":208,"line":256},"$_POST",55,{"id":230,"type":231,"label":246,"file":208,"line":209,"wp_function":247},[259],{"from":225,"to":230,"sanitized":193},"low",{"entryPoint":262,"graph":263,"unsanitizedCount":27,"severity":260},"\u003CScreen> (Includes\\Admin\\Screen.php:0)",{"nodes":264,"edges":267},[265,266],{"id":225,"type":226,"label":255,"file":208,"line":256},{"id":230,"type":231,"label":246,"file":208,"line":209,"wp_function":247},[268],{"from":225,"to":230,"sanitized":193},{"entryPoint":270,"graph":271,"unsanitizedCount":27,"severity":260},"\u003CLoader> (Includes\\Core\\Loader.php:0)",{"nodes":272,"edges":279},[273,274,275,277],{"id":225,"type":226,"label":227,"file":164,"line":228},{"id":230,"type":231,"label":232,"file":164,"line":233,"wp_function":234},{"id":276,"type":226,"label":243,"file":164,"line":244},"n2",{"id":278,"type":231,"label":246,"file":164,"line":217,"wp_function":247},"n3",[280,281],{"from":225,"to":230,"sanitized":193},{"from":276,"to":278,"sanitized":193},{"summary":283,"deductions":284},"The bbp-contacts v0.2.1 plugin demonstrates a mixed security posture. On the positive side, it avoids dangerous functions, exclusively uses prepared statements for SQL queries, has no file operations or external HTTP requests, and includes a reasonable number of nonce checks. The absence of known CVEs and vulnerability history is also a strong indicator of past security diligence. However, a significant concern arises from the attack surface analysis, which reveals two AJAX handlers, with one completely lacking authentication checks. This unprotected entry point presents a direct risk, as it could potentially be exploited by unauthenticated users. Furthermore, the taint analysis indicates two flows with unsanitized paths, which, although not classified as critical or high severity in this analysis, still warrant caution as they represent potential avenues for data manipulation or unintended behavior if exploited. The limited capability checks is also a weakness, suggesting that access to certain functionalities might not be adequately restricted.",[285,287,290,292],{"reason":286,"points":11},"Unprotected AJAX handler",{"reason":288,"points":289},"Flows with unsanitized paths (taint analysis)",7,{"reason":291,"points":139},"Missing capability checks",{"reason":293,"points":126},"Output escaping is not fully proper (74%)","2026-03-17T01:27:09.403Z",{"wat":296,"direct":305},{"assetPaths":297,"generatorPatterns":300,"scriptPaths":301,"versionParams":302},[298,299],"\u002Fwp-content\u002Fplugins\u002Fbbp-contacts\u002Fassets\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Fbbp-contacts\u002Fassets\u002Fjs\u002Fbbp-contacts.js",[],[299],[303,304],"bbp-contacts\u002Fassets\u002Fcss\u002Fstyle.css?ver=","bbp-contacts\u002Fassets\u002Fjs\u002Fbbp-contacts.js?ver=",{"cssClasses":306,"htmlComments":308,"htmlAttributes":309,"restEndpoints":311,"jsGlobals":312,"shortcodeOutput":314},[307],"bbpc-contacts-list",[],[310],"data-bbpc-nonce",[],[313],"BBPC",[]]