[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fkHrfez5cnBqx9upYdZZdfd_otB3FibGcUpkNVyT-ocg":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":25,"download_link":26,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":40,"analysis":151,"fingerprints":624},"courier-notices","Courier Notices","1.9.17","Aaron Ware","https:\u002F\u002Fprofiles.wordpress.org\u002Faware\u002F","\u003Cp>\u003Cstrong>Courier Notices\u003C\u002Fstrong> is a powerful WordPress plugin that allows you to create and display custom notices, alerts, and modals throughout your website. Perfect for announcements, promotions, warnings, or any important information you want to share with your visitors.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Easy Customization\u003C\u002Fstrong> – Customize colors and icons with no coding required\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple Notice Types\u003C\u002Fstrong> – Create different types of notices (Primary, Success, Alert, Warning, Feedback, Info)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Placement\u003C\u002Fstrong> – Display notices in header, footer, as modals, or anywhere using CSS selectors\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dismissible Options\u003C\u002Fstrong> – Choose whether notices can be dismissed by users\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Modal Support\u003C\u002Fstrong> – Create full-screen overlay popup notices\u003C\u002Fli>\n\u003Cli>\u003Cstrong>AJAX Loading\u003C\u002Fstrong> – Compatible with caching plugins and CDNs\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer Friendly\u003C\u002Fstrong> – REST API endpoints and hooks for custom development\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Perfect for:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Website announcements and updates\u003Cbr \u002F>\n* Promotional campaigns and special offers\u003Cbr \u002F>\n* Important warnings or maintenance notices\u003Cbr \u002F>\n* User feedback and success messages\u003Cbr \u002F>\n* Emergency alerts and notifications\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Notice Types Include:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Primary\u003C\u002Fstrong> – General information (#039ad6)\u003Cbr \u002F>\n* \u003Cstrong>Success\u003C\u002Fstrong> – Positive confirmations (#04a84e)\u003Cbr \u002F>\n* \u003Cstrong>Alert\u003C\u002Fstrong> – Important warnings (#f97600)\u003Cbr \u002F>\n* \u003Cstrong>Warning\u003C\u002Fstrong> – Critical alerts (#ea3118)\u003Cbr \u002F>\n* \u003Cstrong>Feedback\u003C\u002Fstrong> – Form responses (#8839d3)\u003Cbr \u002F>\n* \u003Cstrong>Info\u003C\u002Fstrong> – General information (#878787)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Placement Options:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Header\u003C\u002Fstrong> – Displays at the top of the page\u003Cbr \u002F>\n* \u003Cstrong>Footer\u003C\u002Fstrong> – Fixed position at the bottom\u003Cbr \u002F>\n* \u003Cstrong>Modal\u003C\u002Fstrong> – Full-screen overlay popup\u003Cbr \u002F>\n* \u003Cstrong>Custom\u003C\u002Fstrong> – Use CSS selectors for specific placement\u003C\u002Fp>\n\u003Ch3>Shortcodes\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Note:\u003C\u002Fstrong> Shortcodes are deprecated in favor of blocks in the upcoming version 2.0\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[courier_notice id=\"1\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Displays a Courier notice based on the Courier post ID, displays a flag to call out the notice as well.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Parameters:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode> – The ID of the notice to display\u003C\u002Fli>\n\u003C\u002Ful>\n","Add dismissible and non-dismissible notices throughout your WordPress website with customizable colors, icons, and placement options.",40,14818,100,1,"2026-03-09T23:45:00.000Z","6.8.5","5.7","7.4",[20,21,22,23,24],"alerts","dismissible","modal","notices","notifications","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcourier-notices","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcourier-notices.1.9.17.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":33,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":36,"avg_patch_time_days":37,"trust_score":38,"computed_at":39},"aware","webaware",17,152800,97,1595,77,"2026-04-04T03:52:38.591Z",[41,67,88,110,131],{"slug":42,"name":43,"version":44,"author":45,"author_profile":46,"description":47,"short_description":48,"active_installs":49,"downloaded":50,"rating":51,"num_ratings":52,"last_updated":53,"tested_up_to":54,"requires_at_least":55,"requires_php":18,"tags":56,"homepage":62,"download_link":63,"security_score":64,"vuln_count":65,"unpatched_count":27,"last_vuln_date":66,"fetched_at":29},"disable-admin-notices","Disable Admin Notices – Hide Dashboard Notifications","1.4.3","Themeisle","https:\u002F\u002Fprofiles.wordpress.org\u002Fthemeisle\u002F","\u003Cp>WordPress admin notices and dashboard notifications can quickly become overwhelming. Plugin alerts, theme warnings, update messages, and promotional notices often take up valuable space and disrupt your workflow. \u003Cstrong>Disable Admin Notices\u003C\u002Fstrong> gives you full control by letting you hide, remove, or disable admin notices across the entire dashboard.\u003C\u002Fp>\n\u003Cp>You can hide all notifications, disable selected notices only, or move everything into a clean compact bar so messages no longer clutter your admin screen. The plugin also lets you \u003Cstrong>disable plugin and theme update notifications\u003C\u002Fstrong>, \u003Cstrong>disable WordPress core update alerts\u003C\u002Fstrong>, manage which items appear in the admin bar, and even block redirect URLs used by some plugins to show ads or promotional pages.\u003C\u002Fp>\n\u003Cp>Whether you want a cleaner dashboard, fewer interruptions, or complete control over WordPress admin notifications, this plugin helps you keep your workspace organized and distraction-free.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Disable Admin Notices\u003C\u002Fstrong>\u003Cbr \u002F>\n– Disable admin notices globally or hide selected notifications only\u003Cbr \u002F>\n– Hide dashboard notices and show them in a single compact line\u003Cbr \u002F>\n– Option to display all admin notifications in the WordPress admin bar\u003Cbr \u002F>\n– Disable plugin update notifications\u003Cbr \u002F>\n– Disable WordPress core update notifications\u003Cbr \u002F>\n– Access all hidden notices anytime from the plugin dashboard\u003Cbr \u002F>\n– Reset or restore hidden notices at any time\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Disable Admin Bar Items\u003C\u002Fstrong>\u003Cbr \u002F>\n– Choose which items appear in the WordPress admin bar\u003Cbr \u002F>\n– Hide or remove unnecessary plugin, theme, or tool menu items to reduce clutter\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Block Ad Redirects\u003C\u002Fstrong>\u003Cbr \u002F>\n– Block specific redirect URLs to prevent plugins from sending you to ads or promotional screens\u003Cbr \u002F>\n– Avoid unexpected admin redirects when activating or updating plugins\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>We’re here to help. Feel free to open a new thread on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fdisable-admin-notices\u002F\" rel=\"ugc\">Support Forum\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Useful Resources\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>If you like this plugin, you’re sure to love \u003Ca href=\"https:\u002F\u002Fthemeisle.com\u002Fwordpress-plugins\u002F\" rel=\"nofollow ugc\">our other plugins\u003C\u002Fa> as well.\u003C\u002Fli>\n\u003Cli>Our blog is a great place to \u003Ca href=\"https:\u002F\u002Fthemeisle.com\u002Fblog\u002F\" rel=\"nofollow ugc\">learn more about WordPress\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Get the most out of your website with our helpful \u003Ca href=\"https:\u002F\u002Fyoutube.com\u002Fplaylist?list=PLmRasCVwuvpSep2MOsIoE0ncO9JE3FcKP\" rel=\"nofollow ugc\">WordPress YouTube Tutorials\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n","Disable admin notices and hide dashboard notifications from plugins, themes and core. Hide all notices, selected ones, or show them in a single line.",100000,1365060,94,348,"2026-02-17T09:11:00.000Z","6.9.4","5.6",[57,58,59,60,61],"admin-notices","hide-admin-notices","hide-admin-notifications","nnotifications","update-notifications","https:\u002F\u002Fclearfy.pro\u002Fdisable-admin-notices","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-admin-notices.1.4.3.zip",98,2,"2026-02-24 20:56:18",{"slug":58,"name":68,"version":69,"author":70,"author_profile":71,"description":72,"short_description":73,"active_installs":74,"downloaded":75,"rating":76,"num_ratings":77,"last_updated":78,"tested_up_to":79,"requires_at_least":80,"requires_php":18,"tags":81,"homepage":85,"download_link":86,"security_score":87,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"Hide Admin Notices","2.1","PontetLabs","https:\u002F\u002Fprofiles.wordpress.org\u002Fpontetlabs\u002F","\u003Cp>New & improved!\u003C\u002Fp>\n\u003Cp>Have you become tired of the clutter of Admin Notices that appear at the top of every page in your WordPress Dashboard?\u003C\u002Fp>\n\u003Cp>With each new plugin or theme that you install, there seem to be more and more notices that appear at the top of each page!\u003C\u002Fp>\n\u003Cp>With this simple plugin, you can claim back all this wasted screen space so that you can focus on what is important – creating your content.\u003C\u002Fp>\n\u003Cp>Hide Admin Notices hides away all Notices, Messages, and Update Nags, and makes it easy for you to see them again when you want.\u003C\u002Fp>\n\u003Ch4>HOW DOES IT WORK?\u003C\u002Fh4>\n\u003Cp>After activating the plugin, you will have a new \u003Cstrong>Show Notices\u003C\u002Fstrong> button at the top right-hand corner of your admin pages – just next to \u003Cstrong>Screen Options\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Click the button to reveal all hidden notices, then simply click the button again to hide them.\u003C\u002Fp>\n\u003Ch4>SUPPORT\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Like this plugin?\u003C\u002Fstrong> Please \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fhide-admin-notices\u002Freviews\u002F?filter=5\" rel=\"ugc\">Rate It\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fwww.buymeacoffee.com\u002Fpontetlabs\" rel=\"nofollow ugc\">Donate a $1\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Have a problem?\u003C\u002Fstrong> Please write a message in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fhide-admin-notices\u002F\" rel=\"ugc\">WordPress Support Forum\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Translations\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>English\u003C\u002Fli>\n\u003Cli>Russian\u003C\u002Fli>\n\u003Cli>German\u003C\u002Fli>\n\u003Cli>Japanese\u003C\u002Fli>\n\u003Cli>Italian\u003C\u002Fli>\n\u003Cli>Spanish\u003C\u002Fli>\n\u003C\u002Ful>\n","Hide – or show – WordPress Dashboard Notices, Messages, Update Nags etc. ... for everything!",20000,139848,90,19,"2024-02-18T17:52:00.000Z","6.4.8","5.9.8",[58,59,82,83,84],"hide-dashboard-notices","hide-dashboard-notifications","hide-updates-nags","https:\u002F\u002Fpontetlabs.com\u002Fhide-admin-notices","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhide-admin-notices.zip",85,{"slug":89,"name":90,"version":91,"author":92,"author_profile":93,"description":94,"short_description":95,"active_installs":74,"downloaded":96,"rating":97,"num_ratings":98,"last_updated":99,"tested_up_to":100,"requires_at_least":101,"requires_php":102,"tags":103,"homepage":106,"download_link":107,"security_score":108,"vuln_count":65,"unpatched_count":27,"last_vuln_date":109,"fetched_at":29},"wp-hide-backed-notices","Hide Dashboard Notifications","1.4.6","WP Republic","https:\u002F\u002Fprofiles.wordpress.org\u002Fwprepublic\u002F","\u003Cp>Warnings and notices can be helpful for developers as they notify them for debugging issues with their code. Though these notices can be sometimes informative, quite often they become frustrating, inconvenient and even spammy; especially since they are a way of promoting the additional services offered by some plugins. The end result is a bloated WordPress Dashboard where you have to spend a lot of time and energy to close all those nags in order to clear your WordPress website’s backend. Hide Dashboard Notifications allows you to easily turn off those nags and notifications & hide plugin updates. It also stores them under the Notifications Tab where you can review them later if you want to.\u003C\u002Fp>\n\u003Ch3>Short Description\u003C\u002Fh3>\n\u003Cp>Save your WordPress Dashboard from Notifications Bloat! Hide all those annoying and spammy notices from your WordPress Dashboard. You can also enable the option to store and view them all together under the Notifications Tab.\u003C\u002Fp>\n\u003Ch3>Hide Dashboard Notifications Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Disables showing Plugin & Theme Notifications on your WordPress Dashboard.\u003C\u002Fli>\n\u003Cli>Disables showing WordPress Notifications from the WordPress Dashboard & Admin Bar.\u003C\u002Fli>\n\u003Cli>Lets you choose if you want to Hide the Dashboard Notifications for administrators(by default) or all backend user roles.\u003C\u002Fli>\n\u003Cli>Shows blocked notifications under the Notifications Tab.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How it works:\u003C\u002Fh3>\n\u003Cp>As is the case with most WordPress sites the number of plugins installed is often quite big and so is the number of notifications popping up on your WordPress Dashboard. We are sure you are familiar with the chaos these can create while you work. As we understand how difficult it is for you to focus on such clutter, we have created the Hide Dashboard Notifications Plugin. It takes care of all plugin notifications for you and allows you to manage them successfully by silencing them so that you work undisturbed within a clear WordPress Dashboard. Hide WordPress Dashboard Notifications is the easiest and most convenient way to deal with dashboard notifications. This way you can declutter your dashboard and stay focused on your work. All you need to do is install the Hide WordPress Dashboard Notifications plugin and choose the settings that suit your needs best. You can choose to hide the notifications coming from the installed plugins so that you get to focus on your work and get things done. You can even opt for hiding the WordPress update notices. As new releases of updates are rolled out frequently, you can choose to silence those notifications for a certain amount of time, or until you finish the issue you are working on. You also have the option of hiding the dashboard notices for only the Administrators of your website. The rest of the users of the WordPress website will still be able to receive the notices. These pop-ups and notices are not deleted. They are simply put on hold. Should you wish to go through them you will find them all perched under the notifications tab of the plugin. This way, you will be able to sort them out at your own convenience,  tackling them successfully. Want to get rid of the annoying notices which is displayed when a new plugin is installed? Then you’re at the right place 🙂 Install our Hide Backend Notifications plugin and all your problem will be solved.\u003C\u002Fp>\n\u003Ch3>Reviews\u003C\u002Fh3>\n\u003Cp>If you have installed the Hide WordPress DashBoard Notifications plugin then go ahead and leave a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwp-hide-backed-notices\u002Freviews\u002F\" rel=\"ugc\">review\u003C\u002Fa>. We would be happy to receive your feedback and we will take it seriously into consideration.\u003C\u002Fp>\n\u003Ch3>Contribute\u003C\u002Fh3>\n\u003Cp>If you find this useful and if you want to contribute, there are three ways:\u003C\u002Fp>\n\u003Col>\n\u003Cli>You can \u003Ca href=\"https:\u002F\u002Fwprepublic.com\u002Fcontact\" rel=\"nofollow ugc\">contact us\u003C\u002Fa> and submit your bug reports, suggestions and requests for features;\u003C\u002Fli>\n\u003Cli>If you want to translate it to your language (there are just a few lines of text), you can use the \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fwp-hide-backed-notices\" rel=\"nofollow ugc\">translation project\u003C\u002Fa>;\u003C\u002Fli>\n\u003Cli>Using the plugin is free, but if you want you can support my efforts by donating with Helen Keller International \u003Ca href=\"https:\u002F\u002Fsecure.givewell.org\u002F?charity=helen_keller_initiative\" rel=\"nofollow ugc\">here\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Fol>\n","Warnings and notices can be helpful for developers as they notify them for debugging issues with their code. Though these notices can be sometimes inf &hellip;",290551,78,33,"2026-03-03T21:48:00.000Z","6.7.5","3.0","",[58,59,83,104,105],"hide-nags","hide-wordpress-plugin-update","http:\u002F\u002Fwprepublic.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-hide-backed-notices.1.4.6.zip",99,"2024-06-20 00:00:00",{"slug":111,"name":112,"version":113,"author":114,"author_profile":115,"description":116,"short_description":117,"active_installs":118,"downloaded":119,"rating":120,"num_ratings":121,"last_updated":122,"tested_up_to":54,"requires_at_least":123,"requires_php":102,"tags":124,"homepage":129,"download_link":130,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"disable-wp-notification","Disable WP Notification","3.4","Sourabh Agrawal","https:\u002F\u002Fprofiles.wordpress.org\u002Fsourabhasct\u002F","\u003Cp>Showing the notifications related to plugins and themes is not a good idea for all the user roles. Disable WP Notification helps you to disable all the spammy notifications from the entire wordpress dashboard.\u003C\u002Fp>\n\u003Cp>I know sometimes it is require to get the notifications, so considering this, Our experienced developers provide you the following options:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Enable all notifications\u003C\u002Fli>\n\u003Cli>Disable Notifications for all users\u003C\u002Fli>\n\u003Cli>Disable Notifications for all users except admin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Disable WP Notification Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Disable all the spammy notifications and clean the Dashboard.\u003C\u002Fli>\n\u003Cli>A panel to show all the disabled notifications.\u003C\u002Fli>\n\u003Cli>Disable the notifications for all the users including admin.\u003C\u002Fli>\n\u003Cli>Disable the notifications for all the users excluding admin. That means, except admin this will work only on the other users.\u003C\u002Fli>\n\u003Cli>Disable theme updates and notification.\u003C\u002Fli>\n\u003Cli>Disable plugin updates.\u003C\u002Fli>\n\u003Cli>Only Admin can manage the settings.\u003C\u002Fli>\n\u003C\u002Ful>\n","Best wordpress plugin to remove all the admin panel notifications in just one click. Including the theme and plugin update notification.",10000,65716,86,12,"2026-03-10T05:53:00.000Z","6.0",[42,125,126,127,128],"disable-dashboard-notifications","disable-plugin-update","disable-theme-update","remove-unwanted-notification","https:\u002F\u002Fsourabhagrawal.com\u002Fdisable-wp-notification","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-wp-notification.3.4.zip",{"slug":132,"name":133,"version":134,"author":135,"author_profile":136,"description":137,"short_description":138,"active_installs":139,"downloaded":140,"rating":13,"num_ratings":141,"last_updated":142,"tested_up_to":54,"requires_at_least":143,"requires_php":144,"tags":145,"homepage":102,"download_link":149,"security_score":13,"vuln_count":14,"unpatched_count":27,"last_vuln_date":150,"fetched_at":29},"wp-admin-notification-center","Hide admin notices – Admin Notification Center","3.4.0","roumi","https:\u002F\u002Fprofiles.wordpress.org\u002Froumi\u002F","\u003Cp>Tired of having the top of your screen full of notifications coming from all the plugins you’ve installed?\u003C\u002Fp>\n\u003Cp>Here is what you will be able to:\u003Cbr \u002F>\n* Display or not the notifications depending on users roles.\u003Cbr \u002F>\n* Group all your notifications in a notification center located at the right of your page.\u003Cbr \u002F>\n* Use the bouton on the top bar to display \u002F hide this notification center.\u003Cbr \u002F>\n* Be informed when a new notification is present (thanks to a badge displayed on your admin bar)\u003Cbr \u002F>\n* Select the notification types (information\u002Fwarning\u002Ferror) you want to be displayed in the notification center. And the ones you would like to be displayed at the top of your screen\u003Cbr \u002F>\n* Don’t display notification containing spam words set by the user\u003C\u002Fp>\n","Keep your dashboard clean by grouping all the WordPress notice and hide them in a notification center.",8000,47243,14,"2026-01-26T09:35:00.000Z","5.0","7.0",[146,147,23,148,24],"admin","notice","notification","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-admin-notification-center.zip","2023-09-04 00:00:00",{"attackSurface":152,"codeSignals":424,"taintFlows":520,"riskAssessment":612,"analyzedAt":623},{"hooks":153,"ajaxHandlers":390,"restRoutes":410,"shortcodes":411,"cronEvents":417,"entryPointCount":423,"unprotectedCount":27},[154,160,164,169,172,176,182,185,189,192,196,202,206,210,213,216,219,223,227,231,234,236,241,245,249,253,256,259,262,265,267,269,272,274,277,279,280,283,284,288,291,293,296,300,303,306,309,312,315,317,322,327,331,334,336,338,341,344,348,352,355,359,362,364,367,370,372,375,378,379,382,386],{"type":155,"name":156,"callback":157,"file":158,"line":159},"action","plugins_loaded","courier_notices_init","courier-notices.php",80,{"type":155,"name":161,"callback":162,"file":158,"line":163},"admin_notices","closure",101,{"type":155,"name":165,"callback":166,"priority":167,"file":158,"line":168},"init","courier_notices_flush_rewrite_rules",20,180,{"type":155,"name":161,"callback":170,"file":158,"line":171},"courier_notices_wp_rocket_compat_admin_notice",194,{"type":155,"name":173,"callback":174,"file":158,"line":175},"admin_post_courier_dismiss_wp_rocket_notice","courier_notices_handle_dismiss_wp_rocket_notice",247,{"type":155,"name":177,"callback":178,"priority":179,"file":180,"line":181},"save_post","schedule_notice_expiration",10,"includes\\Controller\\Action_Scheduler.php",61,{"type":155,"name":165,"callback":183,"file":180,"line":184},"init_recurring_actions",64,{"type":155,"name":186,"callback":187,"file":180,"line":188},"before_delete_post","unschedule_notice_expiration",67,{"type":155,"name":161,"callback":161,"file":190,"line":191},"includes\\Controller\\Admin\\Admin.php",22,{"type":155,"name":193,"callback":194,"priority":179,"file":190,"line":195},"manage_courier_notice_posts_custom_column","manage_posts_custom_column",24,{"type":197,"name":198,"callback":199,"priority":200,"file":190,"line":201},"filter","manage_courier_notice_posts_columns","manage_posts_columns",998,25,{"type":197,"name":203,"callback":204,"priority":179,"file":190,"line":205},"post_class","add_expired_row_class",26,{"type":197,"name":207,"callback":208,"priority":179,"file":190,"line":209},"post_row_actions","add_expired_row_actions",27,{"type":197,"name":211,"callback":211,"priority":179,"file":190,"line":212},"post_updated_messages",29,{"type":155,"name":214,"callback":214,"file":190,"line":215},"admin_enqueue_scripts",31,{"type":155,"name":214,"callback":217,"file":190,"line":218},"admin_enqueue_styles",32,{"type":155,"name":220,"callback":221,"priority":179,"file":190,"line":222},"restrict_manage_posts","filter_courier_notices",34,{"type":197,"name":224,"callback":225,"file":190,"line":226},"months_dropdown_results","__return_empty_array",37,{"type":155,"name":228,"callback":229,"priority":108,"file":230,"line":212},"add_meta_boxes_courier_notice","add_meta_boxes","includes\\Controller\\Admin\\Courier_Notice_Metabox.php",{"type":197,"name":232,"callback":233,"priority":179,"file":230,"line":215},"use_block_editor_for_post_type","disable_block_editor",{"type":155,"name":235,"callback":235,"file":230,"line":181},"post_submitbox_misc_actions",{"type":155,"name":237,"callback":238,"file":239,"line":240},"admin_menu","add_admin_menu","includes\\Controller\\Admin\\Settings\\General.php",70,{"type":155,"name":242,"callback":243,"file":239,"line":244},"admin_init","settings_init",71,{"type":197,"name":246,"callback":247,"priority":179,"file":239,"line":248},"plugin_action_links","add_settings_link",73,{"type":155,"name":250,"callback":251,"file":239,"line":252},"courier_notices_setting_global","show_design_sub_settings",75,{"type":155,"name":254,"callback":251,"file":239,"line":255},"courier_notices_setting_types",76,{"type":155,"name":257,"callback":257,"priority":179,"file":258,"line":191},"save_post_courier_notice","includes\\Controller\\Courier.php",{"type":155,"name":165,"callback":260,"file":258,"line":261},"add_expired_status",23,{"type":155,"name":263,"callback":264,"file":258,"line":195},"current_screen","remove_editor_styles",{"type":155,"name":266,"callback":266,"priority":179,"file":258,"line":201},"wp_insert_post",{"type":155,"name":268,"callback":268,"file":258,"line":205},"pre_get_posts",{"type":197,"name":270,"callback":270,"file":258,"line":271},"request",28,{"type":197,"name":273,"callback":273,"file":258,"line":212},"query_vars",{"type":197,"name":275,"callback":275,"file":258,"line":276},"template_include",30,{"type":197,"name":278,"callback":278,"file":258,"line":215},"document_title_parts",{"type":197,"name":211,"callback":211,"file":258,"line":218},{"type":197,"name":281,"callback":282,"file":258,"line":98},"views_edit-courier_notice","views_addition",{"type":197,"name":203,"callback":203,"priority":179,"file":258,"line":222},{"type":197,"name":285,"callback":286,"file":258,"line":287},"courier_excerpt","wp_trim_excerpt",35,{"type":197,"name":285,"callback":289,"file":258,"line":290},"wptexturize",36,{"type":197,"name":285,"callback":292,"file":258,"line":226},"convert_smilies",{"type":197,"name":285,"callback":294,"file":258,"line":295},"convert_chars",38,{"type":155,"name":165,"callback":297,"file":298,"line":299},"register_custom_post_type","includes\\Controller\\Courier_Notices.php",51,{"type":155,"name":165,"callback":301,"priority":27,"file":298,"line":302},"register_taxonomies",52,{"type":155,"name":304,"callback":304,"file":298,"line":305},"wp_enqueue_scripts",53,{"type":155,"name":304,"callback":307,"file":298,"line":308},"wp_enqueue_styles",54,{"type":197,"name":310,"callback":310,"file":298,"line":311},"add_query_vars",57,{"type":155,"name":257,"callback":313,"file":298,"line":314},"clear_cache",60,{"type":155,"name":316,"callback":313,"file":298,"line":181},"deleted_post",{"type":155,"name":318,"callback":319,"file":320,"line":321},"rest_api_init","register_routes","includes\\Controller\\Courier_REST_Controller.php",21,{"type":155,"name":323,"callback":324,"file":325,"line":326},"courier_notices_save_css","save_css_transient","includes\\Controller\\Courier_Types.php",104,{"type":155,"name":328,"callback":329,"file":325,"line":330},"admin_footer","add_templates",106,{"type":155,"name":332,"callback":332,"file":333,"line":290},"courier_purge","includes\\Controller\\Cron.php",{"type":155,"name":335,"callback":335,"file":333,"line":226},"courier_expire",{"type":155,"name":165,"callback":165,"file":333,"line":337},39,{"type":155,"name":242,"callback":339,"file":340,"line":337},"check_for_updates","includes\\Controller\\Install.php",{"type":155,"name":165,"callback":342,"priority":343,"file":340,"line":11},"add_capabilities",11,{"type":197,"name":345,"callback":345,"priority":346,"file":347,"line":191},"wp_stream_log_data",999,"includes\\Controller\\Integrations\\Stream.php",{"type":197,"name":349,"callback":350,"priority":179,"file":351,"line":261},"wpseo_sitemap_exclude_post_type","exclude_courier_notice_from_search","includes\\Controller\\Integrations\\WP_SEO.php",{"type":197,"name":353,"callback":354,"priority":179,"file":351,"line":195},"wpseo_sitemap_exclude_taxonomy","exclude_courier_notice_taxonomies",{"type":155,"name":356,"callback":357,"priority":13,"file":358,"line":191},"wp_body_open","place_header_notices","includes\\Controller\\Placement.php",{"type":155,"name":360,"callback":361,"priority":13,"file":358,"line":261},"get_footer","place_footer_notices",{"type":155,"name":356,"callback":363,"priority":13,"file":358,"line":195},"place_modal_notices",{"type":155,"name":318,"callback":319,"file":365,"line":366},"includes\\Controller\\Settings_REST_Controller.php",18,{"type":155,"name":242,"callback":368,"priority":346,"file":369,"line":337},"upgrade","includes\\Controller\\Upgrade.php",{"type":155,"name":161,"callback":371,"priority":343,"file":369,"line":11},"show_review_nag",{"type":155,"name":161,"callback":373,"priority":179,"file":369,"line":374},"show_action_scheduler_migration_notice",41,{"type":155,"name":242,"callback":376,"file":377,"line":167},"show_welcome","includes\\Controller\\Welcome.php",{"type":155,"name":161,"callback":161,"file":377,"line":321},{"type":155,"name":380,"callback":381,"file":377,"line":305},"all_admin_notices","welcome_message",{"type":155,"name":165,"callback":383,"file":384,"line":385},"load_textdomain","includes\\Core\\Bootstrap.php",68,{"type":155,"name":328,"callback":387,"file":388,"line":389},"_js_vars","includes\\Helper\\WP_List_Table.php",166,[391,396,399,403,407],{"action":392,"nopriv":393,"callback":394,"hasNonce":395,"hasCapCheck":395,"file":325,"line":13},"courier_notices_add_type",false,"add_type",true,{"action":397,"nopriv":393,"callback":398,"hasNonce":395,"hasCapCheck":395,"file":325,"line":163},"courier_notices_update_type","update_type",{"action":400,"nopriv":393,"callback":401,"hasNonce":395,"hasCapCheck":395,"file":325,"line":402},"courier_notices_delete_type","delete_type",102,{"action":404,"nopriv":393,"callback":405,"hasNonce":395,"hasCapCheck":395,"file":369,"line":406},"courier_notices_dismiss_migration_notice","dismiss_migration_notice",42,{"action":408,"nopriv":393,"callback":409,"hasNonce":395,"hasCapCheck":395,"file":377,"line":77},"courier_notices_update_welcome_panel","update_welcome_panel",[],[412,415],{"tag":413,"callback":413,"file":414,"line":191},"courier_notices","includes\\Controller\\Shortcodes.php",{"tag":416,"callback":416,"file":414,"line":261},"courier_notice",[418,420,421],{"hook":332,"callback":332,"file":333,"line":419},56,{"hook":335,"callback":335,"file":333,"line":314},{"hook":335,"callback":335,"file":369,"line":422},63,7,{"dangerousFunctions":425,"sqlUsage":430,"outputEscaping":436,"fileOperations":343,"externalRequests":27,"nonceChecks":179,"capabilityChecks":343,"bundledLibraries":519},[426],{"fn":427,"file":428,"line":290,"context":429},"assert","vendor-prefixed\\nette\\utils\\src\\Iterators\\CachingIterator.php","assert($iterator instanceof \\Iterator);",{"prepared":77,"raw":14,"locations":431},[432],{"file":433,"line":434,"context":435},"includes\\Helper\\Functions.php",466,"$wpdb->query() with variable interpolation",{"escaped":437,"rawEcho":337,"locations":438},375,[439,442,445,447,450,452,454,456,457,459,461,463,465,467,470,471,473,475,477,479,481,483,485,487,489,491,493,495,497,499,501,503,505,507,509,511,513,515,517],{"file":190,"line":440,"context":441},151,"raw output",{"file":443,"line":444,"context":441},"includes\\Controller\\Admin\\Fields\\Fields.php",130,{"file":443,"line":446,"context":441},209,{"file":448,"line":449,"context":441},"includes\\Controller\\Admin\\Fields\\Sections.php",59,{"file":448,"line":451,"context":441},105,{"file":448,"line":453,"context":441},108,{"file":448,"line":455,"context":441},110,{"file":325,"line":168,"context":441},{"file":325,"line":458,"context":441},248,{"file":325,"line":460,"context":441},272,{"file":325,"line":462,"context":441},277,{"file":325,"line":464,"context":441},288,{"file":325,"line":466,"context":441},295,{"file":468,"line":469,"context":441},"includes\\Helper\\Type_List_Table.php",87,{"file":468,"line":36,"context":441},{"file":388,"line":472,"context":441},381,{"file":388,"line":474,"context":441},431,{"file":388,"line":476,"context":441},482,{"file":388,"line":478,"context":441},483,{"file":388,"line":480,"context":441},484,{"file":388,"line":482,"context":441},489,{"file":388,"line":484,"context":441},921,{"file":388,"line":486,"context":441},1179,{"file":388,"line":488,"context":441},1196,{"file":388,"line":490,"context":441},1206,{"file":388,"line":492,"context":441},1285,{"file":388,"line":494,"context":441},1361,{"file":388,"line":496,"context":441},1364,{"file":388,"line":498,"context":441},1372,{"file":388,"line":500,"context":441},1373,{"file":388,"line":502,"context":441},1374,{"file":388,"line":504,"context":441},1377,{"file":388,"line":506,"context":441},1378,{"file":388,"line":508,"context":441},1379,{"file":510,"line":321,"context":441},"templates\\admin\\settings-whats-new.php",{"file":512,"line":121,"context":441},"templates\\notice-informational.php",{"file":514,"line":343,"context":441},"templates\\notice.php",{"file":516,"line":141,"context":441},"vendor-prefixed\\autoload.php",{"file":518,"line":77,"context":441},"vendor-prefixed\\composer\\platform_check.php",[],[521,560,572,580],{"entryPoint":522,"graph":523,"unsanitizedCount":558,"severity":559},"search_box (includes\\Helper\\WP_List_Table.php:360)",{"nodes":524,"edges":553},[525,530,535,539,541,545,547,551],{"id":526,"type":527,"label":528,"file":388,"line":529},"n0","source","$_REQUEST['orderby']",368,{"id":531,"type":532,"label":533,"file":388,"line":529,"wp_function":534},"n1","sink","echo() [XSS]","echo",{"id":536,"type":527,"label":537,"file":388,"line":538},"n2","$_REQUEST['order']",371,{"id":540,"type":532,"label":533,"file":388,"line":538,"wp_function":534},"n3",{"id":542,"type":527,"label":543,"file":388,"line":544},"n4","$_REQUEST['post_mime_type']",374,{"id":546,"type":532,"label":533,"file":388,"line":544,"wp_function":534},"n5",{"id":548,"type":527,"label":549,"file":388,"line":550},"n6","$_REQUEST['detached']",377,{"id":552,"type":532,"label":533,"file":388,"line":550,"wp_function":534},"n7",[554,555,556,557],{"from":526,"to":531,"sanitized":393},{"from":536,"to":540,"sanitized":393},{"from":542,"to":546,"sanitized":393},{"from":548,"to":552,"sanitized":393},4,"medium",{"entryPoint":561,"graph":562,"unsanitizedCount":27,"severity":571},"courier_notices_wp_rocket_compat_admin_notice (courier-notices.php:201)",{"nodes":563,"edges":569},[564,567],{"id":526,"type":527,"label":565,"file":158,"line":566},"$_SERVER",228,{"id":531,"type":532,"label":533,"file":158,"line":568,"wp_function":534},241,[570],{"from":526,"to":531,"sanitized":395},"low",{"entryPoint":573,"graph":574,"unsanitizedCount":27,"severity":571},"\u003Ccourier-notices> (courier-notices.php:0)",{"nodes":575,"edges":578},[576,577],{"id":526,"type":527,"label":565,"file":158,"line":566},{"id":531,"type":532,"label":533,"file":158,"line":568,"wp_function":534},[579],{"from":526,"to":531,"sanitized":395},{"entryPoint":581,"graph":582,"unsanitizedCount":610,"severity":611},"\u003CWP_List_Table> (includes\\Helper\\WP_List_Table.php:0)",{"nodes":583,"edges":603},[584,585,586,587,588,589,590,591,592,595,597,599],{"id":526,"type":527,"label":528,"file":388,"line":529},{"id":531,"type":532,"label":533,"file":388,"line":529,"wp_function":534},{"id":536,"type":527,"label":537,"file":388,"line":538},{"id":540,"type":532,"label":533,"file":388,"line":538,"wp_function":534},{"id":542,"type":527,"label":543,"file":388,"line":544},{"id":546,"type":532,"label":533,"file":388,"line":544,"wp_function":534},{"id":548,"type":527,"label":549,"file":388,"line":550},{"id":552,"type":532,"label":533,"file":388,"line":550,"wp_function":534},{"id":593,"type":527,"label":565,"file":388,"line":594},"n8",1116,{"id":596,"type":532,"label":533,"file":388,"line":496,"wp_function":534},"n9",{"id":598,"type":527,"label":565,"file":388,"line":594},"n10",{"id":600,"type":532,"label":601,"file":388,"line":496,"wp_function":602},"n11","call_user_func() [RCE]","call_user_func",[604,605,606,607,608,609],{"from":526,"to":531,"sanitized":393},{"from":536,"to":540,"sanitized":393},{"from":542,"to":546,"sanitized":393},{"from":548,"to":552,"sanitized":393},{"from":593,"to":596,"sanitized":393},{"from":598,"to":600,"sanitized":393},6,"high",{"summary":613,"deductions":614},"The \"courier-notices\" v1.9.17 plugin exhibits a generally strong security posture with excellent adherence to many WordPress security best practices.  The high percentage of prepared SQL statements and properly escaped output are commendable. Furthermore, the absence of any recorded vulnerabilities or CVEs suggests a history of stable and secure development. The plugin also demonstrates good use of nonces and capability checks across its entry points, which are all protected by authentication.\n\nHowever, the static analysis does reveal some areas of concern that warrant attention. The presence of the `assert` dangerous function, while potentially used for debugging or assertions, can be a vector for code injection if not carefully controlled and is a specific code signal to note. The taint analysis identified two flows with unsanitized paths, one of which is flagged as high severity, indicating a potential for data leakage or injection if these paths are maliciously exploited. While no direct vulnerabilities are known historically, these taint flows represent a latent risk.\n\nIn conclusion, the plugin is well-developed with a strong foundation in security. The lack of known vulnerabilities and robust use of authentication, nonces, and prepared statements are significant strengths. Nevertheless, the identified `assert` function and the high-severity taint flow with unsanitized paths are weaknesses that should be addressed to further harden the plugin and mitigate potential future risks.",[615,617,620],{"reason":616,"points":121},"High severity taint flow with unsanitized paths",{"reason":618,"points":619},"Presence of dangerous function: assert",8,{"reason":621,"points":622},"Taint flows with unsanitized paths (x2)",5,"2026-03-16T22:12:36.223Z",{"wat":625,"direct":634},{"assetPaths":626,"generatorPatterns":629,"scriptPaths":630,"versionParams":631},[627,628],"\u002Fwp-content\u002Fplugins\u002Fcourier-notices\u002Fbuild\u002Fcourier-notices.css","\u002Fwp-content\u002Fplugins\u002Fcourier-notices\u002Fbuild\u002Fcourier-notices.js",[],[628],[632,633],"courier-notices\u002Fbuild\u002Fcourier-notices.css?ver=","courier-notices\u002Fbuild\u002Fcourier-notices.js?ver=",{"cssClasses":635,"htmlComments":641,"htmlAttributes":642,"restEndpoints":646,"jsGlobals":648,"shortcodeOutput":651},[636,637,638,639,640],"cn-notice-wrapper","cn-notice-content","cn-notice-icon","cn-notice-close","courier-notices-admin-notice",[],[643,644,645],"data-cn-id","data-cn-nonce","data-cn-action",[647],"\u002Fwp-json\u002Fcourier-notices\u002Fv1\u002Fnotices\u002Fdisplay\u002F(.*)",[649,650],"CourierNotices","courierNoticesApiSettings",[652],"[courier-notices]"]