[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fG_i7dEZPo9DtGN8kYERwOJKr32h9cna9z6OlYpqXjdo":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":27,"vuln_count":28,"unpatched_count":29,"last_vuln_date":30,"fetched_at":31,"vulnerabilities":32,"developer":92,"crawl_stats":38,"alternatives":100,"analysis":201,"fingerprints":889},"push-notification-for-post-and-buddypress","Push Notification for Post and BuddyPress","3.13","Murali","https:\u002F\u002Fprofiles.wordpress.org\u002Fmurali-indiacitys\u002F","\u003Cp>It sends push notifications to desktop, android\u002Fios mobile apps using Firebase Cloud Messaging (FCM) Firebase API http v1 or Onesignal or Progressier as notification provider. It has REST API facility to integrate with native\u002Fhybrid Android\u002FiOS mobile apps for push notifications. It sends notification whenever new WordPress post, custom post types, new BuddyPress activities, comments published. It has facility to generate PWA – Progressive Web App.\u003C\u002Fp>\n\u003Ch4>Plugin features:\u003C\u002Fh4>\n\u003Cp>** Plugin allows to choose different push notification providers **\u003Cbr \u002F>\n1. Firebase – FCM (Free push notifications for desktop, PWA and mobile apps)\u003Cbr \u002F>\n2. Self-hosted push notification using web-push\u003Cbr \u002F>\n3. Onesignal (Free push notification for desktop, PWA and mobile apps)\u003Cbr \u002F>\n4. Progressier (Push notifications for PWA)\u003Cbr \u002F>\n5. webtoapp.design (Push notifications for Mobile apps)\u003Cbr \u002F>\n(Plugin allows to send push notifications to both Firebase\u002FOnesignal and webtoapp.design users simultaneously)\u003C\u002Fp>\n\u003Cp>** Plugin sends Push notifications for following **\u003C\u002Fp>\n\u003Col>\n\u003Cli>New post\u002Fcustom post type published (including bbpress).\u003C\u002Fli>\n\u003Cli>New BuddyPress activities published.\u003C\u002Fli>\n\u003Cli>New BuddyPress group activity published (only to members of group).\u003C\u002Fli>\n\u003Cli>Notifications for BuddyPress mentions in activities.(only to recipient).\u003C\u002Fli>\n\u003Cli>BuddyPress group invite sent (only to recipient).\u003C\u002Fli>\n\u003Cli>BuddyPress group details updated.\u003C\u002Fli>\n\u003Cli>New Buddypress comments published.\u003C\u002Fli>\n\u003Cli>New BuddyPress message or private messages (only to recipient).\u003Cbr \u002F>\n(It is also compatible with Bettermessages plugin).\u003C\u002Fli>\n\u003Cli>New BuddyPress member joined.\u003C\u002Fli>\n\u003Cli>For Friend request in BuddyPress (only to recipient).\u003C\u002Fli>\n\u003Cli>Friendship accepted in BuddyPress (only to requestor).\u003C\u002Fli>\n\u003Cli>User avatar change in BuddyPress.\u003C\u002Fli>\n\u003Cli>Cover image change in BuddyPress.\u003C\u002Fli>\n\u003Cli>Mark as favourites or Likes on BuddyPress activities.\u003C\u002Fli>\n\u003Cli>Supports Push notifications for BuddyBoss and Better Messages plugins\u003C\u002Fli>\n\u003Cli>Woocommerce custom post type push notifications.\u003C\u002Fli>\n\u003Cli>Ability to process more than 200,000 subscribers unlimited push notifications using background action scheduler.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>** Admin only push notifications (only to administrators) **\u003Cbr \u002F>\n1. When contact form(contactform7 plugin) submitted.\u003Cbr \u002F>\n2. When new user registered in site.\u003C\u002Fp>\n\u003Ch4>Reports\u003C\u002Fh4>\n\u003Cp>It supports Firebase analytics reports in Firebase console for notification_open, notification_read, page_view events.\u003C\u002Fp>\n\u003Ch4>Notifications only for loggedin users\u003C\u002Fh4>\n\u003Cp>Enable\u002FDisable option in admin settings to send push notifications using Firebase httpv1 or Onesignal only for loggedin users.\u003C\u002Fp>\n\u003Ch4>Custom popup and Bell prompt to subscribe push notifications with subscription options\u003C\u002Fh4>\n\u003Cp>Enable\u002FDisable custom notification subscription prompt to subscribe\u002Funsubscribe push notifications in front end in admin settings.\u003Cbr \u002F>\nEnable\u002FDisable Bell prompt icon to subscribe\u002Funsubscribe notifications. Front end users will be able to subscribe to particular category like post, activity, comments, friendship request\u002Faccept, other options while subscribing for first time or if user wants to update subscribe options from bell prompt at any time it is needed.\u003C\u002Fp>\n\u003Ch4>Shortcodes\u003C\u002Fh4>\n\u003Cp>[subscribe_PNFPB_push_notification] is available to Subscribe\u002FUnsubscribe push notifications for frontend users.\u003Cbr \u002F>\n[PNFPB_PWA_PROMPT] to install PWA.\u003Cbr \u002F>\n[member name] and [group name] are avilable to display user name in push notifications, For BuddyPress group activities [group name] shortcode to display group name in push notifications.\u003C\u002Fp>\n\u003Ch4>Subscribe\u002FUnsubscribe various push notifications in front end\u003C\u002Fh4>\n\u003Cp>Front end push notification menu is available for BuddyPress Front end users to subscribe\u002Funsubscribe various push notifications according to their choices. This menu is available in user profile – settings area. For other users, shortcode is available to display subscription menu for Front end users to subscribe\u002Funsubscribe various push notifications according to their choices.\u003C\u002Fp>\n\u003Ch4>Scheduling Push notification\u003C\u002Fh4>\n\u003Cp>It allows Scheduled Push notifications to send push notifications hourly(every hour), twice daily(2 times per day), daily, weekly as per WordPress CRON. It also provides option to schedule push notification in background using action scheduler, this will be useful to send notification more than 100000 subscribers simultaneously in background mode.\u003Cbr \u002F>\nPush notification scheduling is available for On demand\u002FOne time, WordPress Post, BuddyPress activities, BuddyPress group activities and for BuddyPress comments.\u003C\u002Fp>\n\u003Ch4>REST API\u003C\u002Fh4>\n\u003Cp>REST API to connect mobile native\u002Fhybrid apps to send push notification from WordPress site to both mobile apps and WordPress sites.\u003Cbr \u002F>\nUsing this REST API WordPress site gets Firebase Push Notification subscription token from Mobile app(Android\u002FIos).\u003Cbr \u002F>\nThis allows to send push notifications to WordPress site users as well as to Native mobile app Android\u002Fios users.\u003Cbr \u002F>\nREST API url is https:\u002F\u002Fwp-json\u002FPNFPBpush\u002Fv1\u002Fsubscriptiontoken\u003C\u002Fp>\n\u003Ch4>HOW TO USE PLUGIN API TO INTEGRATE MOBILE APP PUSH NOTIFICATION\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmuraliwebworld\u002Fandroid-app-to-integrate-push-notification-wordpress-plugin\u002F\" rel=\"nofollow ugc\">Android app code to integrate with this plugin\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmuraliwebworld\u002Fios-swift-app-to-integrate-push-notification-wordpress-plugin\u002F\" rel=\"nofollow ugc\">IOS app code to integrate with this plugin\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Refer video tutorial under “How to use this plugin” section to configure Firebase options in plugin admin area.\u003C\u002Fp>\n\u003Ch4>PWA\u003C\u002Fh4>\n\u003Cp>This plugin has facility to generate Progressive Web App (PWA). It also supports Progressier PWA.\u003Cbr \u002F>\nGo to plugin settings page to enable\u002Fdisable PWA app and to customize PWA app with app name, app icon, app theme color, background color for PWA and list of pages to be included in offline cache for web app offline mode.\u003C\u002Fp>\n\u003Ch4>Extra settings for NGINX server\u003C\u002Fh4>\n\u003Cp>If server is NGINX and not able to create dynamic service worker file https:\u002F\u002Fpnfpb_icpush_pwa_sw.js & PWA manifest json file https:\u002F\u002Fpnfpbmanifest.json then go to plugin settings->nginx tab, enable static file creation option, it will create required static service worker file, PWA manifest json files in root folder. This option is applicable only if hosting\u002Fserver is based on NGINX and not creating dynamic service worker file, manifest json files. By default, this plugin creates dynamic service worker file and PWA manifest json file.\u003C\u002Fp>\n\u003Cp>This plugin uses Firebase Cloud Messaging to send push notification using Firebase registration credentials which is free of cost.\u003C\u002Fp>\n\u003Ch4>Plugin Demo site\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.muraliwebworld.com\u002F\" rel=\"nofollow ugc\">Test PNFPB plugin here\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Video tutorial showing how to configure Firebase for this plugin\u003C\u002Fh4>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F02oymYLt3qo?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch3>Frequently Asked Questions (FAQ)\u003C\u002Fh3>\n\u003Ch4>Do you have any questions?\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.muraliwebworld.com\u002Fgroups\u002Fwordpress-plugins-by-muralidharan-indiacitys-com-technologies\u002Fforum\u002Ftopic\u002Fpush-notification-for-post-and-buddypress\u002F\" rel=\"nofollow ugc\">Submit or contact us with your question here\u003C\u002Fa> (or) \u003Ca href=\"https:\u002F\u002Findiacitys.com\u002F#contact\" rel=\"nofollow ugc\">Please contact us here with your query.\u003C\u002Fa> (or) Submit your question in plugin forum\u003C\u002Fp>\n\u003Cp>How can I report security bugs?\u003C\u002Fp>\n\u003Cp>You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team help validate, triage and handle any security vulnerabilities. \u003Ca href=\"https:\u002F\u002Fpatchstack.com\u002Fdatabase\u002Fwordpress\u002Fplugin\u002Fpush-notification-for-post-and-buddypress\u002Fvdp\" rel=\"nofollow ugc\">Report a security vulnerability.\u003C\u002Fa>\u003C\u002Fp>\n","Send free push notifications for post\u002Fcustom post, BuddyPress from WordPress sites or using mobile app webview and to generate PWA.",200,31104,94,24,"2025-12-14T13:59:00.000Z","6.9.4","6.2","8.1",[20,21,22,23,24],"buddypress","firebase","mobile-app","progressive-web-app","push-notification","https:\u002F\u002Fwww.muraliwebworld.com\u002Fgroups\u002Fwordpress-plugins-by-muralidharan-indiacitys-com-technologies\u002Fforum\u002Ftopic\u002Fpush-notification-for-post-and-buddypress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpush-notification-for-post-and-buddypress.3.13.zip",95,4,0,"2025-01-16 00:00:00","2026-03-15T15:16:48.613Z",[33,49,64,80],{"id":34,"url_slug":35,"title":36,"description":37,"plugin_slug":4,"theme_slug":38,"affected_versions":39,"patched_in_version":40,"severity":41,"cvss_score":42,"cvss_vector":43,"vuln_type":44,"published_date":30,"updated_date":45,"references":46,"days_to_patch":48},"CVE-2025-23771","push-notification-for-post-and-buddypress-missing-authorization-to-unauthenticated-settings-update","Push Notification for Post and BuddyPress \u003C= 2.11 - Missing Authorization to Unauthenticated Settings Update","The Push Notification for Post and BuddyPress plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on a function in all versions up to, and including, 2.11. This makes it possible for unauthenticated attackers to update the plugin's settings.",null,"\u003C=2.11","2.12","medium",5.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Missing Authorization","2025-02-24 16:10:04",[47],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fe39c4730-f5b3-4554-9e4f-bbbbcb41cf61?source=api-prod",40,{"id":50,"url_slug":51,"title":52,"description":53,"plugin_slug":4,"theme_slug":38,"affected_versions":54,"patched_in_version":55,"severity":41,"cvss_score":56,"cvss_vector":57,"vuln_type":58,"published_date":59,"updated_date":60,"references":61,"days_to_patch":63},"CVE-2024-12407","push-notification-for-post-and-buddypress-reflected-cross-site-scripting","Push Notification for Post and BuddyPress \u003C= 2.07 - Reflected Cross-Site Scripting","The Push Notification for Post and BuddyPress plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the 'pushnotificationid' parameter in all versions up to, and including, 2.07 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.","\u003C=2.06","2.08",6.1,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2025-01-10 19:02:15","2025-01-30 14:49:44",[62],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fde7be653-4d5b-4cbe-ad9c-6c2748f533bb?source=api-prod",20,{"id":65,"url_slug":66,"title":67,"description":68,"plugin_slug":4,"theme_slug":38,"affected_versions":69,"patched_in_version":70,"severity":71,"cvss_score":72,"cvss_vector":73,"vuln_type":74,"published_date":75,"updated_date":76,"references":77,"days_to_patch":79},"CVE-2024-6159","push-notification-for-post-and-buddypress-unauthenticated-sql-injection","Push Notification for Post and BuddyPress \u003C= 1.93 - Unauthenticated SQL Injection","The Push Notification for Post and BuddyPress plugin for WordPress is vulnerable to SQL Injection via the 'onesignal_externalid' and 'onesignal_get_subscriptionoptions_id' paramters in all versions up to, and including, 1.93 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query.  This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.","\u003C=1.93","1.94","critical",10,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:C\u002FC:H\u002FI:H\u002FA:H","Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')","2024-05-27 00:00:00","2024-08-07 21:46:05",[78],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F32df7bdb-d99d-4548-8960-3fefdf635753?source=api-prod",73,{"id":81,"url_slug":82,"title":83,"description":84,"plugin_slug":4,"theme_slug":38,"affected_versions":85,"patched_in_version":86,"severity":41,"cvss_score":42,"cvss_vector":43,"vuln_type":44,"published_date":87,"updated_date":88,"references":89,"days_to_patch":91},"WF-228a3c72-fbb0-48bc-8066-6ca954a14421-push-notification-for-post-and-buddypress","push-notification-for-post-and-buddypress-missing-authorization-to-unauthenticated-admin-notice-dismissal","Push Notification for Post and BuddyPress \u003C= 1.63 - Missing Authorization to Unauthenticated Admin Notice Dismissal","The Push Notification for Post and BuddyPress plugin for WordPress is vulnerable to unauthorized modification of data due to a missing capability check on the PNFPB_icpushadmincallback_callback function hooked via a nopriv AJAX action in versions up to, and including, 1.63. This makes it possible for unauthenticated attackers to dismiss admin notices.","\u003C1.64","1.64","2023-08-22 00:00:00","2024-01-22 19:56:02",[90],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F228a3c72-fbb0-48bc-8066-6ca954a14421?source=api-prod",154,{"slug":93,"display_name":7,"profile_url":8,"plugin_count":94,"total_installs":95,"avg_security_score":96,"avg_patch_time_days":97,"trust_score":98,"computed_at":99},"murali-indiacitys",2,900,98,72,87,"2026-04-04T15:27:01.632Z",[101,120,143,164,186],{"slug":102,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":109,"downloaded":110,"rating":109,"num_ratings":94,"last_updated":111,"tested_up_to":16,"requires_at_least":112,"requires_php":113,"tags":114,"homepage":118,"download_link":119,"security_score":109,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"progressify","Progressify – All-in-One Progressive Web App (PWA) on Autopilot","1.1.1","DaftPlug","https:\u002F\u002Fprofiles.wordpress.org\u002Fdaftplug\u002F","\u003Cp>Progressify is an all-in-one plugin that empowers your website with Progressive Web App (PWA) features, to make it faster, smoother, and feel like a real app. Let users install your site on their home screens and increase engagement, repeat visits, and sales.\u003C\u002Fp>\n\u003Ch3>🚀 Turn your site into Progressive Web App\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Add to Home Screen\u003C\u002Fstrong> – Let users install your site on their home screens in seconds, giving it a true app-like experience.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Installation Prompts\u003C\u002Fstrong> – Prompt users to install with banners, popups, overlays, buttons, or QR codes.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>App-like UI Components\u003C\u002Fstrong> – Seamlessly integrate features such as loaders, pull-to-refresh, dark mode, navigation tabs, and more.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Push Notifications\u003C\u002Fstrong> – Send push notifications manually or automatically to users’ devices to drive them back to your site.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Offline Usage\u003C\u002Fstrong> – Keep your site available and accessible for users, even without an internet connection.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced Web Capabilities\u003C\u002Fstrong> – Easily enable advanced Web API features such as periodic background sync, content indexing, and more.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Usage Tracking & Analytics\u003C\u002Fstrong> – Gain complete analytics on your web app, including how many users install and use it, which devices they’re using, and more.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy Configuration\u003C\u002Fstrong> – Easily configure and customize every aspect of your PWA features directly from the user-friendly settings.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Generate Mobile Apps (Pro)\u003C\u002Fstrong> – Optionally create real-time Android and iOS apps that mirror your website and publish them to app stores.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🗝️ Countless More Features\u003C\u002Fh4>\n\u003Cp>Progressify offers a wide range of state-of-the-art features and seamlessly integrates them into your website, delivering a smooth, app-like user experience:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Display Settings\u003C\u002Fstrong>: Display and startup behavior\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Offline Settings\u003C\u002Fstrong>: Offline cache and capabilities\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Navigation Tab Bar\u003C\u002Fstrong>: Bottom navigation tab bar\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dark Mode\u003C\u002Fstrong>: Dark theme mode toggle\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Pull Down Refresh\u003C\u002Fstrong>: Pull-down to refresh gesture\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Skeleton Loader\u003C\u002Fstrong>: Page skeleton loading animation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Smooth Page Transitions\u003C\u002Fstrong>: No-reload page changes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Toast Messages\u003C\u002Fstrong>: Popup toast notifications\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Share Button\u003C\u002Fstrong>: Device native share button\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Background Sync\u003C\u002Fstrong>: Fetch data in background\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Vibrations\u003C\u002Fstrong>: Haptic feedback on tap\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Screen Wake Lock\u003C\u002Fstrong>: Prevent screen dimming and locking\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Idle Detection\u003C\u002Fstrong>: Detect inactivity and prompt updates\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shake Refresh\u003C\u002Fstrong>: Shake to refresh gesture\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Autosave Forms\u003C\u002Fstrong>: Persist values to prevent data loss\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Countless more features and options…\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🎉 PWA Success Stories\u003C\u002Fh3>\n\u003Cp>PWA is actively implemented by big companies and they see amazing improvements regarding the performance and conversions\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>+150% User Traffic\u003C\u002Fstrong>: Trivago saw a 150% rise in engagement from home screen users, leading to a 97% increase in hotel offer click-outs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>+76% Total Conversions\u003C\u002Fstrong>: AliExpress upgraded to a PWA and saw a 76% boost in conversions and a 30% rise in monthly active Android users.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>+44% Ad Revenue\u003C\u002Fstrong>: Pinterest new PWA boosted user-generated ad revenue by 44% and core engagement by 60%.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>+90% Storage Efficient\u003C\u002Fstrong>: Tinder native application was a whopping 30MB, but after transitioning to a PWA, they reduced the file size to just 2.8MB.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>⚡ Smart Features, No Hassle\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>No Coding Required\u003C\u002Fstrong>: The plugin offers ready-made, fully configurable features, enabling advanced web APIs without any technical expertise.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Live Updates\u003C\u002Fstrong>: Updates with fixes, new features and improvements are automatically pushed to your WordPress website.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>High Quality\u003C\u002Fstrong>: The plugin is built with a modular design, ensuring fast, reliable performance without frequent bugs and failures.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Support\u003C\u002Fstrong>: Get support in the support forum from friendly professionals ready to answer your questions.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🌐 Fully Translatable\u003C\u002Fh4>\n\u003Cp>Progressify supports multiple languages, typography options, and RTL layouts. It’s fully translatable via POT files using tools like Poedit and Loco Translate and is compatible with WPML, Polylang, TranslatePress, Weglot, and more.\u003C\u002Fp>\n\u003Ch4>🔌 Compatible with All Themes &  Plugins\u003C\u002Fh4>\n\u003Cp>Progressify works out-of-the-box with any WordPress setup, theme, or plugin. Whether you’re running a blog, e-commerce store, forum, portfolio, membership site, or news portal, it integrates seamlessly without requiring extra configuration.\u003C\u002Fp>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>This plugin connects to external services to provide specific functionality. Below is a complete list of the services, what they do, when they are used, and what data may be transmitted.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Workbox CDN (storage.googleapis.com)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purpose: Loads Google’s Workbox service worker library so the offline cache and routing strategies can function.\u003C\u002Fli>\n\u003Cli>What is sent and when: The browser downloads a static JavaScript file (workbox-sw.js) when the service worker is installed\u002Fupdated. No user data is sent by this plugin as part of that request.\u003C\u002Fli>\n\u003Cli>Provider: Google. Terms: https:\u002F\u002Fpolicies.google.com\u002Fterms — Privacy: https:\u002F\u002Fpolicies.google.com\u002Fprivacy — Workbox: https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fworkbox\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>WordPress.com MShots (s0.wp.com)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purpose: Generates a screenshot (thumbnail) of your site’s start page used by the plugin for the offline fallback page background and for certain preview\u002Ficon generation cases.\u003C\u002Fli>\n\u003Cli>What is sent and when: The browser requests a static image from https:\u002F\u002Fs0.wp.com\u002Fmshots\u002Fv1\u002F with your site URL included in the query string plus viewport parameters. As with any HTTP request, the visitor’s IP address and user agent are sent by the browser to the CDN. No additional user-specific data is sent by this plugin.\u003C\u002Fli>\n\u003Cli>Provider: Automattic (WordPress.com). Terms: https:\u002F\u002Fwordpress.com\u002Ftos — Privacy: https:\u002F\u002Fautomattic.com\u002Fprivacy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>GeoJS (get.geojs.io)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purpose: Resolves a visitor’s IP address to a country name\u002Fcode for anonymous PWA analytics (Dashboard) and push subscriber metadata.\u003C\u002Fli>\n\u003Cli>What is sent and when: The visitor’s IP address is looked up server‑side on first PWA open and when a user subscribes to push notifications. The response is used to store country information only.\u003C\u002Fli>\n\u003Cli>Provider: GeoJS. Website\u002FDocs: https:\u002F\u002Fwww.geojs.io\u002F — Privacy: https:\u002F\u002Fwww.geojs.io\u002Fprivacy\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>OneSignal SDK Worker (cdn.onesignal.com)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purpose: If the OneSignal plugin is active, the service worker imports OneSignal’s web push SDK worker to enable that plugin’s push features.\u003C\u002Fli>\n\u003Cli>What is sent and when: Requests the OneSignal SDK worker file. Any subsequent data flows are governed by the OneSignal plugin\u002Faccount configuration.\u003C\u002Fli>\n\u003Cli>Provider: OneSignal. Terms: https:\u002F\u002Fonesignal.com\u002Fterms-of-service — Privacy: https:\u002F\u002Fonesignal.com\u002Fprivacy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Webpushr Service Worker (cdn.webpushr.com)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purpose: If the Webpushr plugin is active, the service worker imports Webpushr’s worker to enable that plugin’s push features.\u003C\u002Fli>\n\u003Cli>What is sent and when: Requests the Webpushr worker file. Any subsequent data flows are governed by the Webpushr plugin\u002Faccount configuration.\u003C\u002Fli>\n\u003Cli>Provider: Webpushr. Terms: https:\u002F\u002Fwww.webpushr.com\u002Fterms-of-service — Privacy: https:\u002F\u002Fwww.webpushr.com\u002Fprivacy-policy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Notes:\u003Cbr \u002F>\n– OneSignal and Webpushr integrations are conditional and only load if those plugins are active on your site.\u003Cbr \u002F>\n– Web push delivery uses the standard browser push endpoints associated with each subscription (e.g., services operated by browser vendors). The specific endpoint domain varies per browser and is not controlled by this plugin.\u003C\u002Fp>\n\u003Ch3>Source Code and Build Instructions\u003C\u002Fh3>\n\u003Cp>This plugin uses modern tooling (Tailwind CSS and esbuild) to produce minified assets for distribution. The human‑readable source code is included in the plugin:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Admin JS and CSS source: \u003Ccode>includes\u002Fadmin\u002F_src\u002F\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Build prerequisites: Node.js and npm.\u003C\u002Fp>\n\u003Cp>Basic development build:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Install dev dependencies.\u003C\u002Fli>\n\u003Cli>Build assets in development mode.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Third‑party libraries used in compiled assets include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>esbuild – https:\u002F\u002Fesbuild.github.io\u002F\u003C\u002Fli>\n\u003Cli>Tailwind CSS – https:\u002F\u002Ftailwindcss.com\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The full, human‑readable sources for all minified files are present within the plugin as listed above. If you have any trouble locating sources, please open an issue in the WordPress.org support forum for this plugin.\u003C\u002Fp>\n","Turn your site into an app-like PWA with install prompts, offline use, push notifications, and more to boost engagement, repeat visits, and sales.",100,1169,"2026-03-09T11:20:00.000Z","5.0","7.4",[22,115,23,116,117],"native-app","push-notifications","pwa","https:\u002F\u002Fdaftplug.com\u002Fprogressify\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fprogressify.1.1.1.zip",{"slug":121,"name":122,"version":123,"author":124,"author_profile":125,"description":126,"short_description":127,"active_installs":128,"downloaded":129,"rating":29,"num_ratings":29,"last_updated":130,"tested_up_to":131,"requires_at_least":132,"requires_php":113,"tags":133,"homepage":138,"download_link":139,"security_score":140,"vuln_count":141,"unpatched_count":29,"last_vuln_date":142,"fetched_at":31},"push-notification-mobile-and-web-app","Push notification for Mobile and Web app","2.0.4","App Cheap","https:\u002F\u002Fprofiles.wordpress.org\u002Fappcheap\u002F","\u003Cp>Support push notification for mobile and the web app.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fcodecanyon.net\u002Fitem\u002Fcirilla-multipurpose-flutter-wordpress-app\u002F31940668\" rel=\"nofollow ugc\">Demo app\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Push services support\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Firebase HTTP V1\u003C\u002Fli>\n\u003Cli>Firebase HTTP legacy\u003C\u002Fli>\n\u003Cli>OneSignal\u003C\u002Fli>\n\u003Cli>Debug\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How does it work\u003C\u002Fh3>\n\u003Cp>The Push Notification plugin is built with five part:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Trigger: When WordPress action execution (Post saved, Order status changed …)\u003C\u002Fli>\n\u003Cli>Recipients: One\u002F More recipients get the notification ( topic, registration ID, role, user, merge tag …)\u003C\u002Fli>\n\u003Cli>Conditionals: Determine whether notification send\u003C\u002Fli>\n\u003Cli>Action: The action when the user click to notification on device\u003C\u002Fli>\n\u003Cli>Merge Tag: That is dynamic information in that context\u003C\u002Fli>\n\u003Cli>String translation: Replace part of string on title and message\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Plugin Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Comment Post: Fires immediately after a comment is inserted into the database.\u003C\u002Fli>\n\u003Cli>Post Type: Fires when a post is transitioned from one status to another.\u003C\u002Fli>\n\u003Cli>Save Post: Fires once a post has been saved.\u003C\u002Fli>\n\u003Cli>Order Status Changed: Fires when an order is transitioned from one status to another.\u003C\u002Fli>\n\u003Cli>Product Status Changed: Fires when a product is transitioned from one status to another.\u003C\u002Fli>\n\u003Cli>WCFM – Direct Messaging: Fires when vendor receive a message.\u003C\u002Fli>\n\u003Cli>BuddyPress: Fires Messages message sent, Activity Posted Update, Friends Friendship Accepted, Friends Friendship Requested, Groups Posted Update, Groups Send Invites\u003C\u002Fli>\n\u003C\u002Ful>\n","Push notification for Android, iOS and the Web",500,15918,"2025-12-06T07:06:00.000Z","6.6.5","5.8",[134,135,136,137,24],"android-notifications","app-builder","firebase-messages","ios-notifications","https:\u002F\u002Fappcheap.io\u002Fpush-notification-mobile-and-web-app","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpush-notification-mobile-and-web-app.2.0.4.zip",99,1,"2025-05-16 00:00:00",{"slug":144,"name":145,"version":146,"author":147,"author_profile":148,"description":149,"short_description":150,"active_installs":11,"downloaded":151,"rating":152,"num_ratings":153,"last_updated":154,"tested_up_to":155,"requires_at_least":156,"requires_php":157,"tags":158,"homepage":161,"download_link":162,"security_score":163,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"wp-appkit","WP-AppKit – Mobile apps and PWA for WordPress","1.6.0","Uncategorized Creations","https:\u002F\u002Fprofiles.wordpress.org\u002Funcategorized-creations\u002F","\u003Cp>\u003Cstrong>Important ✋\u003C\u002Fstrong>: beginning with version 1.5.3, we don’t support anymore native iOS app. This is a tough choice \u003Ca href=\"https:\u002F\u002Funcategorized-creations.com\u002F4550\u002Fdropping-ios-support-%F0%9F%98%B1\u002F\" rel=\"nofollow ugc\">we explain here\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Progressive web apps\u003C\u002Fstrong>: support for progressive web applications (PWA) has been added to 1.5x release. PWA are a new way to deliver fast, reliable and great experience on the web notably for mobiles. They allow to create apps accessible as websites that you can install and access as traditionnal mobile apps.\u003C\u002Fp>\n\u003Cp>A great way to build progressive web apps (PWA) and mobile apps for your WordPress site using your favorite technologies: JavaScript, HTML and CSS.\u003C\u002Fp>\n\u003Cp>Progressive web apps (PWA) and mobile applications are a great way to offer an outstanding mobile experience for your users. Using push notifications, letting users read offline, using saved accounts to share content are among many wonderful things you can do with mobile applications.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Build with Cordova or VoltBuilder\u003C\u002Fstrong>: Since October 2020, Adobe has discontinued PhoneGap Build and ended investment in PhoneGap, so PhoneGap Build cannot be used to build WP-AppKit apps anymore. But as of version 1.6.0, WP-AppKit allows to build apps with raw Cordova tools or VoltBuilder online service.\u003C\u002Fp>\n\u003Ch4>The Toolkit You Need to Build Your App\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Native support of WordPress\u003C\u002Fstrong>: custom post types, custom fields, custom taxonomies, comments, secured authentication\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Full support of progressive web apps (PWA)\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Android support\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Cordova\u003C\u002Fstrong>: use JavaScript, HTML and CSS to build apps\u003C\u002Fli>\n\u003Cli>\u003Cstrong>VoltBuilder\u003C\u002Fstrong>: Easy online compilation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Themes\u003C\u002Fstrong>: create app themes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable\u003C\u002Fstrong>: hook into our API to add the features you need\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Get a look at all \u003Ca href=\"https:\u002F\u002Funcategorized-creations.com\u002Ffeatures\u002F?utm_source=wordpress.org&utm_medium=referral&utm_campaign=plugin_readme\" rel=\"nofollow ugc\">available features\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Getting Started\u003C\u002Fh4>\n\u003Cp>Even if you are familiar with development, building your first PWA or mobile app can be intimidating. We know that, we’ve been there before 🙂\u003C\u002Fp>\n\u003Cp>For that, we have tutorials and documentation that will guide you through the process:\u003Cbr \u002F>\n* to create your first PWA\u003Cbr \u002F>\n* to have your first app connected to your WordPress site installed on your phone.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgoo.gl\u002F3yed8t\" rel=\"nofollow ugc\">WP-AppKit Documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>You can also check this video that shows in 5 minutes what you will achieve thanks to the \u003Cem>Getting Started\u003C\u002Fem> tutorial.\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002Ft6KwLxuoZ2g?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Ch4>App Themes: a Flexible Way To Build Apps\u003C\u002Fh4>\n\u003Cp>WP-AppKit supports JavaScript based PWA and app themes. We provide 2 default sister themes named \u003Cem>Q for iOS\u003C\u002Fem> and \u003Cem>Q for Android\u003C\u002Fem>. These themes are installed with the plugin. You can  also develop your own themes.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=fSQVx8-rqCY\" rel=\"nofollow ugc\">Q for Android\u003C\u002Fa> (video)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Documentation and Tutorials\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgoo.gl\u002F6EW93W\" rel=\"nofollow ugc\">Complete documentation\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgoo.gl\u002FvKxBFD\" rel=\"nofollow ugc\">Tutorials\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Funcatcrea\u002Fwp-appkit\" rel=\"nofollow ugc\">GitHub repository\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Pro Support and add-ons for WP-AppKit\u003C\u002Fstrong> If you need to get further with WP-AppKit, we offer a \u003Ca href=\"https:\u002F\u002Fgoo.gl\u002FpqfNjm\" rel=\"nofollow ugc\">paid support\u003C\u002Fa> for advanced topics and convenient \u003Ca href=\"https:\u002F\u002Fgoo.gl\u002F5oisKB\" rel=\"nofollow ugc\">add-ons\u003C\u002Fa> to integrate specific features (eg. push notifications).\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>More information at \u003Ca href=\"https:\u002F\u002Fgoo.gl\u002FpEYAE4\" rel=\"nofollow ugc\">getwpappkit.com\u003C\u002Fa>.\u003C\u002Fstrong>\u003C\u002Fp>\n","Important ✋: beginning with version 1.5.3, we don't support anymore native iOS app. This is a tough choice we explain here.",37683,88,9,"2020-10-27T13:03:00.000Z","5.5.18","4.0","",[159,160,22,23,117],"android","ios","https:\u002F\u002Fgithub.com\u002Funcatcrea\u002Fwp-appkit","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-appkit.1.6.0.zip",85,{"slug":165,"name":166,"version":167,"author":168,"author_profile":169,"description":170,"short_description":171,"active_installs":172,"downloaded":173,"rating":172,"num_ratings":28,"last_updated":174,"tested_up_to":175,"requires_at_least":156,"requires_php":176,"tags":177,"homepage":181,"download_link":182,"security_score":183,"vuln_count":184,"unpatched_count":184,"last_vuln_date":185,"fetched_at":31},"ultimate-push-notifications","Ultimate Push Notifications","1.2.0","CodeSolz","https:\u002F\u002Fprofiles.wordpress.org\u002Fcodesolz\u002F","\u003Cp>The Ultimate Push Notification feature offers a truly exceptional experience to users by delivering real-time notifications directly to their mobile or desktop screens.\u003Cbr \u002F>\nIt’s truly a dynamic solution for anyone looking to keep up-to-date with the latest activities on their website.\u003Cbr \u002F>\nWhether it’s through WooCommerce, BuddyPress, Multi-vendor platforms like Dokan or WCFM or even default WordPress events, this feature provides both administrators and\u003Cbr \u002F>\nusers with complete control over the notifications they receive.\u003C\u002Fp>\n\u003Cp>Users will enjoy receiving notifications for a variety of events, including product sales, cart additions, order updates, and new registrations on the website.\u003Cbr \u002F>\nAnd with BuddyPress integration, users can also receive notifications for a range of different events within the platform.\u003Cbr \u002F>\nOverall, the Ultimate Push Notification feature enhances the user experience and helps keep everyone informed and engaged.\u003C\u002Fp>\n\u003Cp>The Ultimate Push Notification feature is an efficient and cost-effective solution for businesses looking to grow and expand.\u003Cbr \u002F>\nThis innovative solution eliminates the need for unexpected spending on SMS service providers, offering a more modern and efficient approach\u003Cbr \u002F>\nto staying connected with your audience.\u003C\u002Fp>\n\u003Cp>Not only does this feature provide real-time notifications directly to users’ mobile or desktop screens,\u003Cbr \u002F>\nit also offers the flexibility and control you need to effectively communicate with your audience. With the ability\u003Cbr \u002F>\n to customize the messages you send and choose the audience you reach, the Ultimate Push Notification feature helps you stay\u003Cbr \u002F>\n  connected with your customers and grow your business in a cost-effective manner.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Ch3>Say goodbye to overspending on SMS services and embrace this cost-effective solution today!\u003C\u002Fh3>\n\u003C\u002Fblockquote>\n\u003Ch3>How does it work?\u003C\u002Fh3>\n\u003Cp>The Ultimate Push Notification plugin is designed to seamlessly integrate with Firebase, a powerful and free application platform developed by Google for creating\u003Cbr \u002F>\n mobile and web applications. To get started, simply create your Firebase web push application and set the configuration in the plugin’s app config section.\u003C\u002Fp>\n\u003Cp>With just a few clicks, you can be on your way to receiving real-time notifications right on your mobile or desktop screen. The plugin’s device registration page\u003Cbr \u002F>\n provides a user-friendly interface for setting up notifications, and all the steps involved can be found in our comprehensive plugin documentation.\u003C\u002Fp>\n\u003Cp>Once you have allowed notifications, you’ll be able to receive updates in real-time as events unfold on your website. With the ability to customize and control\u003Cbr \u002F>\n your notifications, this plugin is a powerful tool that makes it easy to keep everyone informed and engaged with your business. Whether you’re just starting out or\u003Cbr \u002F>\n looking to take your business to the next level, the Ultimate Push Notification plugin has you covered.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Ch3>Set your preferences and receive timely push notifications on your device. Choose which events trigger the notifications and stay updated on the go.\u003C\u002Fh3>\n\u003C\u002Fblockquote>\n\u003Cul>\n\u003Cli>Push Notifications on Mobile\u003Cbr \u002F>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FTARCZGGlG5k?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Requirments\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Should enabled SSL on website. It will not work in localhost\u003C\u002Fli>\n\u003Cli>For testing purposes, multiple users should be create from different browsers\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Send notification to specific user only not all users as a spam\u003C\u002Fli>\n\u003Cli>User can check either they want to receive notification or not\u003C\u002Fli>\n\u003Cli>User can customize their message text \u003C\u002Fli>\n\u003Cli>User can choose which notification they would like to receive \u003C\u002Fli>\n\u003Cli>Easy to use and user-friendly options\u003C\u002Fli>\n\u003Cli>Ultimate notification solutions for WordPress\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Notification – BuddyPress\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>User \u002F admin – new message receive\u003C\u002Fstrong> – Receive push notification when someone send a message.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User \u002F admin – new friend request\u003C\u002Fstrong> – Receive push notification when someone send a friend request.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User \u002F admin – friend request rejected\u003C\u002Fstrong> – Receive push notification when someone reject friend request.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User \u002F admin – friend request accepted\u003C\u002Fstrong> – Receive push notification when someone accept friend request.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User \u002F admin – friend request Cancelled\u003C\u002Fstrong> – Receive push notification when someone cancel friend request.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User \u002F admin – new activity published\u003C\u002Fstrong> – Receive push notification when new post \u002F activity publish on BuddyPress board.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User \u002F admin – new custom activity post type published\u003C\u002Fstrong> – Receive push notification when new custom activity post type publish.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User \u002F admin – new custom activity post type updated\u003C\u002Fstrong> – Receive push notification when new custom activity post type get updated.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User \u002F admin – new custom activity post type deleted\u003C\u002Fstrong> – Receive push notification when new custom activity post type get deleted.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User \u002F admin – new comment on post \u002F activity status\u003C\u002Fstrong> – Receive push notification when someone comment on post.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User \u002F admin – new group invitation receive\u003C\u002Fstrong> – Receive push notification when someone send a group invitation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User \u002F admin – Group details updated\u003C\u002Fstrong> – Receive push notification when group details get updated\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Notification – WooCommerce\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Admin \u002F user – when a product get sold\u003C\u002Fstrong> – Receive push notification when a product get sold\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin \u002F user – when added to cart\u003C\u002Fstrong> – Receive push notification when someone add a product in cart\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin \u002F user – when product status is On-Hold\u003C\u002Fstrong> – Receive push notification when product status is on hold\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin \u002F user – when product status is Processing\u003C\u002Fstrong> – Receive push notification when product status changes to processing status\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin \u002F user – when product status is Complete\u003C\u002Fstrong> – Receive push notification when product status changes to complete\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin \u002F user – when vendor change the status of the product\u003C\u002Fstrong> – Receive push notification when vendor change the status of a product\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Notification – Contact Form 7\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Admin – when someone submit form\u003C\u002Fstrong> – Receive push notification when someone submit a query via Contact Form 7\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Notification – WordPress Core\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Admin – when someone register\u003C\u002Fstrong> – Receive push notification when someone register on website\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Basic Documentation To Get Started\u003C\u002Fh3>\n\u003Cp>HOW TO INSTALL, SETUP AND ACTIVATE FIREBASE APPLICATION\u003C\u002Fp>\n\u003Cul>\n\u003Cli>How to create a Firebase Application for free\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.codesolz.net\u002Fultimate-push-notifications\u002Fhow-to-create-firebase-application\u002Fcreate-firebase-application\u002F\" rel=\"nofollow ugc\">Live Demo & Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Setup – App Config\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.codesolz.net\u002Fultimate-push-notifications\u002Fhow-to-create-firebase-application\u002Fsetup-app-config\u002F\" rel=\"nofollow ugc\">Live Demo & Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Set Notification\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.codesolz.net\u002Fultimate-push-notifications\u002Fhow-to-create-firebase-application\u002Fset-notification\u002F\" rel=\"nofollow ugc\">Live Demo & Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Register a device to get notification\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.codesolz.net\u002Fultimate-push-notifications\u002Fhow-to-create-firebase-application\u002Fregister-a-device-to-get-notification\u002F\" rel=\"nofollow ugc\">Live Demo & Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Video guideline to get started – New Firebase APP with Cloud messaging API\u003C\u002Fh4>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FVc1FuG1np5k?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch4>Video guideline to get started – Old version\u003C\u002Fh4>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FvuSUg7ppE80?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch4>Forum and Feature Request\u003C\u002Fh4>\n\u003Cblockquote>\n\u003Ch4>For Quick Support, feature request and bug reporting\u003C\u002Fh4>\n\u003Cul>\n\u003Cli> Visit our website \u003Ca href=\"https:\u002F\u002Fcodesolz.net\u002F?utm_source=wordpress.org&utm_medium=README&utm_campaign=ultimate-push-notifications\" rel=\"nofollow ugc\">To Get Instant Support\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli> For more dedicated support or feature request write to us at \u003Ca href=\"mailto:support@codesolz.net\" rel=\"nofollow ugc\">support@codesolz.net\u003C\u002Fa> or create a ticket \u003Ca href=\"http:\u002F\u002Fsupport.codesolz.net\u002Fpublic\u002Fcreate-ticket\" rel=\"nofollow ugc\"> Support Center\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Visit our forum to share your experience or request features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli> Visit our \u003Ca href=\"https:\u002F\u002Fforum.codesolz.net\u002F?utm_source=wordpress.org&utm_medium=README&utm_campaign=ultimate-push-notifications\" rel=\"nofollow ugc\">forum\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>As it’s open source, check our github development Status\u003C\u002Fh4>\n\u003Cul>\n\u003Cli> Check development status or issues in \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FCodeSolz\u002Fultimate-push-notifications\" rel=\"nofollow ugc\"> github.com\u002FCodeSolz\u002Fultimate-push-notifications \u003C\u002Fa>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fblockquote>\n","Receive push notification on Mobile \u002F Desktop from WooCommerce \u002F Multi-vendor (Dokan, WCFM), BuddyPress, WordPress events and more.",60,6674,"2025-09-28T21:54:00.000Z","6.8.5","7.0",[20,178,179,116,180],"desktop-push-notification","dokan","woocommerce","https:\u002F\u002Fcodesolz.net\u002Four-products\u002Fwordpress-plugin\u002Fultimate-push-notifications\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fultimate-push-notifications.zip",45,3,"2025-07-07 00:00:00",{"slug":187,"name":188,"version":189,"author":187,"author_profile":190,"description":191,"short_description":192,"active_installs":63,"downloaded":193,"rating":29,"num_ratings":29,"last_updated":194,"tested_up_to":175,"requires_at_least":157,"requires_php":113,"tags":195,"homepage":198,"download_link":199,"security_score":27,"vuln_count":141,"unpatched_count":29,"last_vuln_date":200,"fetched_at":31},"beyondcart","BeyondCart Connector","3.1.2","https:\u002F\u002Fprofiles.wordpress.org\u002Fbeyondcart\u002F","\u003Cp>Turn One-time Shoppers into Reccuring Revenue\u003C\u002Fp>\n\u003Cp>Connector to BeyondCart – SaaS product that transform your eCommerce to a mobile app instantly and build customers for life! Analyze their behavior and drive repeat sales with targeted push notifications.\u003C\u002Fp>\n\u003Ch3>Build customersfor life\u003C\u002Fh3>\n\u003Cp>Make users stick around and drive repeat purchases with a Mobile Shopping App and Customer Engagement Platform\u003C\u002Fp>\n\u003Ch3>Boost your business with a Mobile Shopping App\u003C\u002Fh3>\n\u003Cp>Engage shoppers where they’re most likely to convert – their phone. Offer a personalized shopping experience that keep cusomers ready to buy.\u003C\u002Fp>\n\u003Cp>Offer users an ultimate experience that help them find easily what they want wherever they are.\u003Cbr \u002F>\nYour mobile shopping app is full with features that will retain your customers and will help you build community for a lifetime\u003C\u002Fp>\n\u003Ch3>Drive sustainable growth with Customer Engagment Platform\u003C\u002Fh3>\n\u003Cp>Use our customer engagement platform  to ultimate your targeting strategy and drive repeat sales with the power of push notifications.\u003C\u002Fp>\n\u003Cp>While users interact with your mobile shopping app our customer engagement platform records their in-app behaviour.\u003Cbr \u002F>\nThe details of every session logged are used to form the isights you need to drive sales\u003C\u002Fp>\n\u003Ch3>Push notifications center\u003C\u002Fh3>\n\u003Cp>Drive sales and repeat purchases by sending data-driven push notifications based on customer in-app behaviour, preferences and purchase patterns.\u003C\u002Fp>\n\u003Ch3>Beyond Cart is super easy to integrate with your online store\u003C\u002Fh3>\n\u003Cp>✔ \u003Cstrong>Our team of experts converts your store to a fully branded Android and iOS Shopping App\u003C\u002Fstrong>\u003Cbr \u002F>\n✔ \u003Cstrong>We handle the app submission and publishing process, so there is nothing new to figure out\u003C\u002Fstrong>\u003Cbr \u002F>\n✔ \u003Cstrong>After your app becomes available in the app stores we will support you to ensure the success of your project\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>Our website:\u003C\u002Fh3>\n\u003Cp>Any questions? Visit our website \u003Ca href=\"https:\u002F\u002Fbeyondcart.com\u002F?utm_source=wordpress.org\" rel=\"nofollow ugc\">beyondcart.com\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin relies on 3rd party services for its ‘Sign in with Apple’, ‘Login with Google’, and ‘Login with Facebook’ features:\u003C\u002Fp>\n\u003Ch4>Sign in with Apple\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Apple’s authentication servers are contacted to fetch public keys for verifying JSON Web Tokens (JWT) when users sign in with their Apple IDs.\u003C\u002Fli>\n\u003Cli>Apple’s authentication server URL: https:\u002F\u002Fappleid.apple.com\u002Fauth\u002Fkeys\u003C\u002Fli>\n\u003Cli>Apple’s Privacy Policy: https:\u002F\u002Fwww.apple.com\u002Flegal\u002Fprivacy\u002Fen-ww\u002F\u003C\u002Fli>\n\u003Cli>Apple’s Terms of Use: https:\u002F\u002Fwww.apple.com\u002Flegal\u002Finternet-services\u002Fterms\u002Fsite.html\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Login with Google\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Google’s authentication servers are contacted when users sign in with their Google accounts.\u003C\u002Fli>\n\u003Cli>Google API Console: https:\u002F\u002Fconsole.developers.google.com\u002F\u003C\u002Fli>\n\u003Cli>Google’s Privacy Policy: https:\u002F\u002Fpolicies.google.com\u002Fprivacy\u003C\u002Fli>\n\u003Cli>Google’s Terms of Service: https:\u002F\u002Fpolicies.google.com\u002Fterms\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Login with Facebook\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Facebook’s authentication servers are contacted when users sign in with their Facebook accounts.\u003C\u002Fli>\n\u003Cli>Facebook for Developers: https:\u002F\u002Fdevelopers.facebook.com\u002F\u003C\u002Fli>\n\u003Cli>Facebook’s Data Policy: https:\u002F\u002Fwww.facebook.com\u002Fpolicy.php\u003C\u002Fli>\n\u003Cli>Facebook’s Terms of Service: https:\u002F\u002Fwww.facebook.com\u002Fterms.php\u003C\u002Fli>\n\u003C\u002Ful>\n","Transform your eCommerce to a mobile app instantly and build customers for life! Analyze their behavior and drive repeat sales with targeted push noti &hellip;",2514,"2025-11-20T16:29:00.000Z",[187,196,22,197,116],"engagement-platform","mobile-app-for-woocommerce","https:\u002F\u002Fbeyondcart.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbeyondcart.3.1.2.zip","2025-09-10 18:48:51",{"attackSurface":202,"codeSignals":522,"taintFlows":668,"riskAssessment":872,"analyzedAt":888},{"hooks":203,"ajaxHandlers":456,"restRoutes":474,"shortcodes":489,"cronEvents":496,"entryPointCount":72,"unprotectedCount":521},[204,210,212,215,218,223,228,231,234,237,240,243,246,250,253,256,259,262,265,268,271,274,276,279,282,284,286,288,290,294,297,300,303,306,310,313,316,319,322,325,328,331,334,337,340,343,346,349,352,355,358,361,364,367,370,373,376,379,382,385,388,391,393,396,400,403,406,409,412,415,418,421,425,428,431,434,437,440,444,448,452],{"type":205,"name":206,"callback":207,"priority":72,"file":208,"line":209},"filter","set_url_scheme","pnfpb_url_scheme","admin\\pnfpb_delivery_notifications_browser_list_class.php",317,{"type":205,"name":206,"callback":207,"priority":72,"file":211,"line":209},"admin\\pnfpb_delivery_notifications_list_class.php",{"type":205,"name":206,"callback":207,"priority":72,"file":213,"line":214},"admin\\pnfpb_icfcm_device_tokens_list.php",292,{"type":205,"name":206,"callback":207,"priority":72,"file":216,"line":217},"admin\\pnfpb_icfcm_onetime_push_notifications_list_class.php",856,{"type":205,"name":219,"callback":220,"priority":72,"file":221,"line":222},"set-screen-option","PNFPB_set_screen","pnfpb_push_notification.php",372,{"type":224,"name":225,"callback":226,"priority":72,"file":221,"line":227},"action","wpmu_new_blog","anonymous",386,{"type":205,"name":229,"callback":226,"file":221,"line":230},"wpmu_drop_tables",391,{"type":224,"name":232,"callback":226,"file":221,"line":233},"init",402,{"type":224,"name":235,"callback":226,"file":221,"line":236},"admin_init",404,{"type":224,"name":238,"callback":226,"file":221,"line":239},"plugins_loaded",409,{"type":205,"name":241,"callback":226,"priority":72,"file":221,"line":242},"plugin_action_links",416,{"type":205,"name":244,"callback":226,"priority":72,"file":221,"line":245},"network_admin_plugin_action_links",423,{"type":205,"name":247,"callback":248,"file":221,"line":249},"action_scheduler_pastdue_actions_check_pre","__return_false",430,{"type":224,"name":251,"callback":226,"priority":72,"file":221,"line":252},"PNFPB_ondemand_schedule_push_notification_hook",436,{"type":224,"name":254,"callback":226,"priority":72,"file":221,"line":255},"PNFPB_httpv1_schedule_push_notification_hook",448,{"type":224,"name":257,"callback":226,"priority":72,"file":221,"line":258},"PNFPB_webpush_schedule_push_notification_hook",459,{"type":224,"name":260,"callback":226,"priority":72,"file":221,"line":261},"PNFPB_onesignal_schedule_push_notification_hook",470,{"type":224,"name":263,"callback":226,"priority":72,"file":221,"line":264},"PNFPB_progressier_schedule_push_notification_hook",478,{"type":224,"name":266,"callback":226,"priority":72,"file":221,"line":267},"PNFPB_webtoapp_schedule_push_notification_hook",490,{"type":224,"name":269,"callback":226,"priority":63,"file":221,"line":270},"login_enqueue_scripts",501,{"type":224,"name":272,"callback":226,"priority":63,"file":221,"line":273},"wp_enqueue_scripts",506,{"type":224,"name":272,"callback":226,"priority":109,"file":221,"line":275},511,{"type":224,"name":277,"callback":226,"priority":63,"file":221,"line":278},"admin_enqueue_scripts",516,{"type":224,"name":280,"callback":226,"priority":141,"file":221,"line":281},"admin_menu",550,{"type":224,"name":235,"callback":226,"file":221,"line":283},555,{"type":224,"name":235,"callback":226,"file":221,"line":285},556,{"type":224,"name":235,"callback":226,"file":221,"line":287},561,{"type":224,"name":232,"callback":226,"file":221,"line":289},567,{"type":224,"name":291,"callback":226,"priority":292,"file":221,"line":293},"wp_head",6,573,{"type":224,"name":295,"callback":226,"priority":292,"file":221,"line":296},"login_head",578,{"type":224,"name":298,"callback":226,"priority":292,"file":221,"line":299},"wp_footer",585,{"type":224,"name":301,"callback":226,"priority":292,"file":221,"line":302},"login_footer",590,{"type":224,"name":304,"callback":226,"priority":72,"file":221,"line":305},"transition_post_status",608,{"type":224,"name":307,"callback":226,"priority":308,"file":221,"line":309},"PNFPB_create_index_for_deviceid_action",5,621,{"type":224,"name":311,"callback":226,"priority":72,"file":221,"line":312},"comment_post",628,{"type":224,"name":314,"callback":226,"priority":72,"file":221,"line":315},"PNFPB_post_comments_notification_cron_hook",645,{"type":224,"name":317,"callback":226,"file":221,"line":318},"rest_api_init",651,{"type":224,"name":320,"callback":226,"priority":72,"file":221,"line":321},"PNFPB_trigger_post_notification_action",656,{"type":224,"name":323,"callback":226,"priority":308,"file":221,"line":324},"bp_activity_posted_update",671,{"type":224,"name":326,"callback":226,"priority":308,"file":221,"line":327},"PNFPB_trigger_activity_push_notification_action",678,{"type":224,"name":329,"callback":226,"priority":141,"file":221,"line":330},"bp_groups_posted_update",691,{"type":224,"name":332,"callback":226,"priority":141,"file":221,"line":333},"PNFPB_group_activity_notification_cron_hook",702,{"type":224,"name":335,"callback":226,"priority":72,"file":221,"line":336},"messages_message_sent",719,{"type":224,"name":338,"callback":226,"priority":72,"file":221,"line":339},"better_messages_message_sent",731,{"type":224,"name":341,"callback":226,"priority":72,"file":221,"line":342},"PNFPB_private_message_notification_cron_hook",742,{"type":224,"name":344,"callback":226,"priority":72,"file":221,"line":345},"bp_core_activated_user",749,{"type":224,"name":347,"callback":226,"priority":72,"file":221,"line":348},"PNFPB_new_member_notification_cron_hook",760,{"type":224,"name":350,"callback":226,"priority":72,"file":221,"line":351},"bp_activity_add_user_favorite",767,{"type":224,"name":353,"callback":226,"priority":72,"file":221,"line":354},"PNFPB_mark_as_favourite_notification_cron_hook",778,{"type":224,"name":356,"callback":226,"priority":72,"file":221,"line":357},"bp_follow_after_save",784,{"type":224,"name":359,"callback":226,"priority":72,"file":221,"line":360},"PNFPB_bp_follower_notification_cron_hook",795,{"type":224,"name":362,"callback":226,"priority":72,"file":221,"line":363},"friends_friendship_requested",803,{"type":224,"name":365,"callback":226,"priority":28,"file":221,"line":366},"PNFPB_friendship_request_notification_cron_hook",814,{"type":224,"name":368,"callback":226,"priority":72,"file":221,"line":369},"friends_friendship_accepted",821,{"type":224,"name":371,"callback":226,"priority":28,"file":221,"line":372},"PNFPB_friendship_accept_notification_cron_hook",832,{"type":224,"name":374,"callback":226,"priority":72,"file":221,"line":375},"bp_members_avatar_uploaded",839,{"type":224,"name":377,"callback":226,"priority":72,"file":221,"line":378},"xprofile_avatar_uploaded",851,{"type":224,"name":380,"callback":226,"priority":72,"file":221,"line":381},"PNFPB_avatar_change_notification_cron_hook",863,{"type":224,"name":383,"callback":226,"priority":72,"file":221,"line":384},"members_cover_image_uploaded",870,{"type":224,"name":386,"callback":226,"priority":72,"file":221,"line":387},"xprofile_cover_image_uploaded",881,{"type":224,"name":389,"callback":226,"priority":72,"file":221,"line":390},"PNFPB_cover_image_change_notification_cron_hook",893,{"type":224,"name":392,"callback":226,"priority":308,"file":221,"line":95},"bp_activity_comment_posted",{"type":224,"name":394,"callback":226,"priority":72,"file":221,"line":395},"PNFPB_activities_comments_notification_cron_hook",911,{"type":205,"name":397,"callback":226,"priority":398,"file":221,"line":399},"bp_get_group_join_button",101,926,{"type":224,"name":401,"callback":226,"priority":141,"file":221,"line":402},"bp_group_header_actions",933,{"type":224,"name":404,"callback":226,"priority":141,"file":221,"line":405},"bp_directory_groups_actions",938,{"type":224,"name":407,"callback":226,"file":221,"line":408},"bp_setup_nav",945,{"type":224,"name":410,"callback":226,"priority":308,"file":221,"line":411},"groups_send_invites",951,{"type":224,"name":413,"callback":226,"priority":308,"file":221,"line":414},"PNFPB_group_invite_notification_cron_hook",961,{"type":224,"name":416,"callback":226,"file":221,"line":417},"groups_group_details_edited",967,{"type":224,"name":419,"callback":226,"priority":184,"file":221,"line":420},"PNFPB_group_details_update_notification_cron_hook",973,{"type":224,"name":422,"callback":226,"priority":423,"file":221,"line":424},"admin_bar_menu",999,994,{"type":224,"name":426,"callback":226,"priority":72,"file":221,"line":427},"user_register",1001,{"type":224,"name":429,"callback":226,"priority":308,"file":221,"line":430},"PNFPB_new_user_registration_notification_cron_hook",1003,{"type":224,"name":432,"callback":226,"priority":308,"file":221,"line":433},"wpcf7_before_send_mail",1010,{"type":224,"name":435,"callback":226,"priority":141,"file":221,"line":436},"PNFPB_contact_form_notification_cron_hook",1017,{"type":224,"name":277,"callback":438,"file":221,"line":439},"closure",6627,{"type":224,"name":441,"callback":442,"file":221,"line":443},"bp_template_title","pnfpb_bp_projects_screen_title",7513,{"type":224,"name":445,"callback":446,"file":221,"line":447},"bp_template_content","pnfpb_bp_projects_screen_content",7517,{"type":224,"name":232,"callback":449,"file":450,"line":451},"PNFPB_icfm_icpush_add_rewrite_rules","public\\service_worker\\pnfpb_create_sw_file.php",16,{"type":224,"name":453,"callback":454,"file":450,"line":455},"parse_request","PNFPB_icfm_icpush_generate_sw_pwajson",18,[457,461,464,467,469,472],{"action":458,"nopriv":459,"callback":226,"hasNonce":459,"hasCapCheck":459,"file":221,"line":460},"icpushcallback",false,522,{"action":458,"nopriv":462,"callback":226,"hasNonce":459,"hasCapCheck":459,"file":221,"line":463},true,526,{"action":465,"nopriv":459,"callback":226,"hasNonce":459,"hasCapCheck":459,"file":221,"line":466},"icpushadmincallback",531,{"action":465,"nopriv":462,"callback":226,"hasNonce":459,"hasCapCheck":459,"file":221,"line":468},535,{"action":470,"nopriv":459,"callback":226,"hasNonce":459,"hasCapCheck":459,"file":221,"line":471},"unsubscribepush",540,{"action":470,"nopriv":462,"callback":226,"hasNonce":459,"hasCapCheck":459,"file":221,"line":473},544,[475,483],{"namespace":476,"route":477,"methods":478,"callback":480,"permissionCallback":481,"file":221,"line":482},"PNFPBpush\u002Fv1","\u002Fsubscriptiontoken",[479],"POST","PNFPB_get_subscription_tokens_from_app","__return_true",7952,{"namespace":484,"route":485,"methods":486,"callback":487,"permissionCallback":481,"file":221,"line":488},"PNFPBpush\u002Fv2","\u002Fnotification-delivery-counts",[479],"PNFPB_get_notification_delivery_counts_from_serviceworker",7959,[490,493],{"tag":491,"callback":226,"file":221,"line":492},"subscribe_PNFPB_push_notification",981,{"tag":494,"callback":226,"file":221,"line":495},"PNFPB_PWA_PROMPT",987,[497,500,503,506,509,512,515,518],{"hook":498,"callback":498,"file":221,"line":499},"PNFPB_cron_generate_Firebase_oauth_token_hook",1137,{"hook":501,"callback":501,"file":221,"line":502},"PNFPB_cron_update_buddypress_subscription_count_hook",1154,{"hook":504,"callback":504,"file":221,"line":505},"PNFPB_cron_update_post_subscription_count_hook",1163,{"hook":507,"callback":507,"file":221,"line":508},"PNFPB_cron_post_hook",1360,{"hook":510,"callback":510,"file":221,"line":511},"PNFPB_cron_buddypressactivities_hook",1427,{"hook":513,"callback":513,"file":221,"line":514},"PNFPB_cron_buddypressgroupactivities_hook",1498,{"hook":516,"callback":516,"file":221,"line":517},"PNFPB_cron_buddypresscomments_hook",1563,{"hook":519,"callback":519,"file":221,"line":520},"PNFPB_cron_comments_post_hook",1573,8,{"dangerousFunctions":523,"sqlUsage":524,"outputEscaping":544,"fileOperations":29,"externalRequests":663,"nonceChecks":63,"capabilityChecks":94,"bundledLibraries":664},[],{"prepared":525,"raw":521,"locations":526},419,[527,530,532,534,536,537,539,541],{"file":528,"line":79,"context":529},"admin\\pnfpb_admin_ondemand_schedule_notification.php","$wpdb->get_results() with variable interpolation",{"file":208,"line":531,"context":529},383,{"file":211,"line":533,"context":529},382,{"file":216,"line":535,"context":529},914,{"file":216,"line":492,"context":529},{"file":216,"line":538,"context":529},1102,{"file":221,"line":540,"context":529},1098,{"file":221,"line":542,"context":543},1183,"$wpdb->get_col() with variable interpolation",{"escaped":545,"rawEcho":546,"locations":547},4449,57,[548,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,633,635,637,639,641,643,645,647,649,651,653,655,657,659,661],{"file":549,"line":550,"context":551},"admin\\pnfpb_admin_ondemand_notification_settings.php",1728,"raw output",{"file":553,"line":63,"context":551},"public\\ajax_routines\\pnfpb_update_deviceid_ajax.php",{"file":553,"line":555,"context":551},150,{"file":553,"line":557,"context":551},157,{"file":553,"line":559,"context":551},171,{"file":553,"line":561,"context":551},173,{"file":553,"line":563,"context":551},187,{"file":553,"line":565,"context":551},189,{"file":553,"line":567,"context":551},197,{"file":553,"line":569,"context":551},221,{"file":553,"line":571,"context":551},223,{"file":553,"line":573,"context":551},231,{"file":553,"line":575,"context":551},282,{"file":553,"line":577,"context":551},284,{"file":553,"line":579,"context":551},297,{"file":553,"line":581,"context":551},312,{"file":553,"line":583,"context":551},314,{"file":553,"line":585,"context":551},327,{"file":553,"line":587,"context":551},366,{"file":553,"line":589,"context":551},368,{"file":553,"line":591,"context":551},449,{"file":553,"line":593,"context":551},467,{"file":553,"line":595,"context":551},482,{"file":553,"line":597,"context":551},489,{"file":553,"line":599,"context":551},491,{"file":553,"line":601,"context":551},495,{"file":553,"line":603,"context":551},497,{"file":553,"line":605,"context":551},502,{"file":553,"line":607,"context":551},557,{"file":553,"line":609,"context":551},559,{"file":553,"line":611,"context":551},587,{"file":553,"line":613,"context":551},589,{"file":553,"line":615,"context":551},685,{"file":553,"line":617,"context":551},687,{"file":553,"line":619,"context":551},699,{"file":553,"line":621,"context":551},701,{"file":553,"line":623,"context":551},707,{"file":553,"line":625,"context":551},709,{"file":553,"line":627,"context":551},713,{"file":450,"line":629,"context":551},80,{"file":450,"line":631,"context":551},89,{"file":450,"line":96,"context":551},{"file":450,"line":634,"context":551},576,{"file":450,"line":636,"context":551},1039,{"file":450,"line":638,"context":551},1041,{"file":450,"line":640,"context":551},1059,{"file":450,"line":642,"context":551},1061,{"file":450,"line":644,"context":551},1068,{"file":450,"line":646,"context":551},1081,{"file":450,"line":648,"context":551},1083,{"file":450,"line":650,"context":551},1090,{"file":450,"line":652,"context":551},1092,{"file":450,"line":654,"context":551},1114,{"file":450,"line":656,"context":551},1139,{"file":450,"line":658,"context":551},1143,{"file":450,"line":660,"context":551},1165,{"file":450,"line":662,"context":551},1168,19,[665],{"name":666,"version":38,"knownCves":667},"Guzzle",[],[669,688,727,744,755,767,781,792,803,813],{"entryPoint":670,"graph":671,"unsanitizedCount":29,"severity":687},"\u003Cpnfpb_admin_notice_ajax> (admin\\ajax_routines\\pnfpb_admin_notice_ajax.php:0)",{"nodes":672,"edges":685},[673,679],{"id":674,"type":675,"label":676,"file":677,"line":678},"n0","source","$_FILES","admin\\ajax_routines\\pnfpb_admin_notice_ajax.php",23,{"id":680,"type":681,"label":682,"file":677,"line":683,"wp_function":684},"n1","sink","update_option() [Settings Manipulation]",32,"update_option",[686],{"from":674,"to":680,"sanitized":462},"low",{"entryPoint":689,"graph":690,"unsanitizedCount":29,"severity":687},"\u003Cpnfpb_admin_ondemand_notification_settings> (admin\\pnfpb_admin_ondemand_notification_settings.php:0)",{"nodes":691,"edges":722},[692,695,699,703,708,712,717,719],{"id":674,"type":675,"label":693,"file":549,"line":694},"$_POST (x3)",582,{"id":680,"type":681,"label":696,"file":549,"line":697,"wp_function":698},"query() [SQLi]",596,"query",{"id":700,"type":675,"label":701,"file":549,"line":702},"n2","$_POST (x6)",593,{"id":704,"type":681,"label":705,"file":549,"line":706,"wp_function":707},"n3","echo() [XSS]",627,"echo",{"id":709,"type":675,"label":710,"file":549,"line":711},"n4","$_GET",1588,{"id":713,"type":681,"label":714,"file":549,"line":715,"wp_function":716},"n5","get_results() [SQLi]",1593,"get_results",{"id":718,"type":675,"label":710,"file":549,"line":711},"n6",{"id":720,"type":681,"label":705,"file":549,"line":721,"wp_function":707},"n7",1683,[723,724,725,726],{"from":674,"to":680,"sanitized":462},{"from":700,"to":704,"sanitized":462},{"from":709,"to":713,"sanitized":462},{"from":718,"to":720,"sanitized":462},{"entryPoint":728,"graph":729,"unsanitizedCount":29,"severity":687},"\u003Cpnfpb_delivery_notifications_browser_list_class> (admin\\pnfpb_delivery_notifications_browser_list_class.php:0)",{"nodes":730,"edges":741},[731,734,736,737],{"id":674,"type":675,"label":732,"file":208,"line":733},"$_REQUEST",66,{"id":680,"type":681,"label":714,"file":208,"line":735,"wp_function":716},78,{"id":700,"type":675,"label":732,"file":208,"line":733},{"id":704,"type":681,"label":738,"file":208,"line":739,"wp_function":740},"get_var() [SQLi]",113,"get_var",[742,743],{"from":674,"to":680,"sanitized":462},{"from":700,"to":704,"sanitized":462},{"entryPoint":745,"graph":746,"unsanitizedCount":29,"severity":687},"\u003Cpnfpb_delivery_notifications_list_class> (admin\\pnfpb_delivery_notifications_list_class.php:0)",{"nodes":747,"edges":752},[748,749,750,751],{"id":674,"type":675,"label":732,"file":211,"line":733},{"id":680,"type":681,"label":714,"file":211,"line":735,"wp_function":716},{"id":700,"type":675,"label":732,"file":211,"line":733},{"id":704,"type":681,"label":738,"file":211,"line":739,"wp_function":740},[753,754],{"from":674,"to":680,"sanitized":462},{"from":700,"to":704,"sanitized":462},{"entryPoint":756,"graph":757,"unsanitizedCount":29,"severity":687},"\u003Cpnfpb_icfcm_device_tokens_list> (admin\\pnfpb_icfcm_device_tokens_list.php:0)",{"nodes":758,"edges":764},[759,760,762,763],{"id":674,"type":675,"label":732,"file":213,"line":546},{"id":680,"type":681,"label":714,"file":213,"line":761,"wp_function":716},69,{"id":700,"type":675,"label":732,"file":213,"line":546},{"id":704,"type":681,"label":738,"file":213,"line":398,"wp_function":740},[765,766],{"from":674,"to":680,"sanitized":462},{"from":700,"to":704,"sanitized":462},{"entryPoint":768,"graph":769,"unsanitizedCount":29,"severity":687},"\u003Cpnfpb_icfcm_onetime_push_notifications_list_class> (admin\\pnfpb_icfcm_onetime_push_notifications_list_class.php:0)",{"nodes":770,"edges":778},[771,773,775,776],{"id":674,"type":675,"label":772,"file":216,"line":163},"$_REQUEST (x6)",{"id":680,"type":681,"label":714,"file":216,"line":774,"wp_function":716},97,{"id":700,"type":675,"label":732,"file":216,"line":163},{"id":704,"type":681,"label":738,"file":216,"line":777,"wp_function":740},175,[779,780],{"from":674,"to":680,"sanitized":462},{"from":700,"to":704,"sanitized":462},{"entryPoint":782,"graph":783,"unsanitizedCount":29,"severity":687},"\u003Cpnfpb_update_unsubscribe_deviceids> (public\\ajax_routines\\pnfpb_update_unsubscribe_deviceids.php:0)",{"nodes":784,"edges":790},[785,788],{"id":674,"type":675,"label":786,"file":787,"line":455},"$_POST","public\\ajax_routines\\pnfpb_update_unsubscribe_deviceids.php",{"id":680,"type":681,"label":696,"file":787,"line":789,"wp_function":698},34,[791],{"from":674,"to":680,"sanitized":462},{"entryPoint":793,"graph":794,"unsanitizedCount":141,"severity":802},"column_scheduled_timestamp (admin\\pnfpb_icfcm_onetime_push_notifications_list_class.php:244)",{"nodes":795,"edges":800},[796,798],{"id":674,"type":675,"label":732,"file":216,"line":797},310,{"id":680,"type":681,"label":714,"file":216,"line":799,"wp_function":716},316,[801],{"from":674,"to":680,"sanitized":459},"high",{"entryPoint":804,"graph":805,"unsanitizedCount":28,"severity":802},"column_status (admin\\pnfpb_icfcm_onetime_push_notifications_list_class.php:347)",{"nodes":806,"edges":811},[807,810],{"id":674,"type":675,"label":808,"file":216,"line":809},"$_REQUEST (x4)",362,{"id":680,"type":681,"label":714,"file":216,"line":589,"wp_function":716},[812],{"from":674,"to":680,"sanitized":459},{"entryPoint":814,"graph":815,"unsanitizedCount":292,"severity":802},"\u003Cpnfpb_update_deviceid_ajax> (public\\ajax_routines\\pnfpb_update_deviceid_ajax.php:0)",{"nodes":816,"edges":862},[817,819,821,824,826,828,830,831,835,837,842,845,849,853,856,859],{"id":674,"type":675,"label":786,"file":553,"line":818},243,{"id":680,"type":681,"label":705,"file":553,"line":820,"wp_function":707},256,{"id":700,"type":675,"label":822,"file":553,"line":823},"$_POST (x5)",33,{"id":704,"type":681,"label":714,"file":553,"line":825,"wp_function":716},339,{"id":709,"type":675,"label":827,"file":553,"line":823},"$_POST (x14)",{"id":713,"type":681,"label":696,"file":553,"line":829,"wp_function":698},346,{"id":718,"type":675,"label":786,"file":553,"line":823},{"id":720,"type":681,"label":832,"file":553,"line":833,"wp_function":834},"get_col() [SQLi]",398,"get_col",{"id":836,"type":675,"label":786,"file":553,"line":823},"n8",{"id":838,"type":681,"label":839,"file":553,"line":840,"wp_function":841},"n9","get_row() [SQLi]",480,"get_row",{"id":843,"type":675,"label":693,"file":553,"line":844},"n10",381,{"id":846,"type":847,"label":848,"file":553,"line":844},"n11","transform","→ PNFPB_httpv1_multiple_subscription_option_update()",{"id":850,"type":681,"label":696,"file":851,"line":852,"wp_function":698},"n12","public\\pnfpb_topic_subscription_update\\PNFPB_httpv1_subscription_option_update.php",797,{"id":854,"type":675,"label":693,"file":553,"line":855},"n13",385,{"id":857,"type":847,"label":858,"file":553,"line":855},"n14","→ PNFPB_httpv1_default_subscription_option_update()",{"id":860,"type":681,"label":696,"file":851,"line":861,"wp_function":698},"n15",91,[863,864,865,866,867,868,869,870,871],{"from":674,"to":680,"sanitized":462},{"from":700,"to":704,"sanitized":462},{"from":709,"to":713,"sanitized":462},{"from":718,"to":720,"sanitized":462},{"from":836,"to":838,"sanitized":462},{"from":843,"to":846,"sanitized":459},{"from":846,"to":850,"sanitized":459},{"from":854,"to":857,"sanitized":459},{"from":857,"to":860,"sanitized":459},{"summary":873,"deductions":874},"The plugin \"push-notification-for-post-and-buddypress\" version 3.13 exhibits a mixed security posture.  On the positive side, the plugin demonstrates strong adherence to secure coding practices by utilizing prepared statements for nearly all SQL queries and properly escaping the vast majority of its output. The presence of nonce checks and capability checks, while limited, is also a good sign. However, significant concerns arise from the large attack surface, with 8 out of 10 identified entry points lacking proper authorization checks. This includes all AJAX handlers and REST API routes, which are particularly vulnerable to unauthorized access and manipulation.\n\nThe taint analysis further amplifies these concerns, revealing 3 critical severity flows with unsanitized paths. This indicates a direct pathway for attackers to exploit potentially malicious input, leading to severe security breaches such as arbitrary code execution or sensitive data compromise. While there are no currently unpatched CVEs, the historical vulnerability data shows a pattern of critical and medium severity issues, including Cross-site Scripting, SQL Injection, and Missing Authorization. This suggests a recurring struggle with implementing robust security controls, especially regarding input validation and authorization.\n\nIn conclusion, while the plugin utilizes some secure coding practices like prepared statements and output escaping, the substantial number of unprotected entry points and critical taint flows present a significant risk. The historical vulnerability data reinforces these concerns. Immediate attention should be paid to securing all AJAX handlers and REST API routes, and further investigation into the identified taint flows is crucial to mitigate the risk of exploitation.",[875,877,879,882,884,886],{"reason":876,"points":72},"Unprotected AJAX handlers",{"reason":878,"points":72},"Unprotected REST API routes",{"reason":880,"points":881},"Critical severity taint flows",15,{"reason":883,"points":881},"Historical critical CVEs",{"reason":885,"points":153},"Historical medium CVEs",{"reason":887,"points":184},"Bundled Guzzle library","2026-03-16T20:22:40.348Z",{"wat":890,"direct":924},{"assetPaths":891,"generatorPatterns":902,"scriptPaths":903,"versionParams":913},[892,893,894,895,896,897,898,899,900,901],"\u002Fwp-content\u002Fplugins\u002Fpush-notification-for-post-and-buddypress\u002Fassets\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Fpush-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_sw.js","\u002Fwp-content\u002Fplugins\u002Fpush-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_pn_app.js","\u002Fwp-content\u002Fplugins\u002Fpush-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_firebase_messaging.js","\u002Fwp-content\u002Fplugins\u002Fpush-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_firebase_app.js","\u002Fwp-content\u002Fplugins\u002Fpush-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_pn_registration.js","\u002Fwp-content\u002Fplugins\u002Fpush-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_pn_settings.js","\u002Fwp-content\u002Fplugins\u002Fpush-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_pn_push.js","\u002Fwp-content\u002Fplugins\u002Fpush-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_pn_device.js","\u002Fwp-content\u002Fplugins\u002Fpush-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_pn_shortcode.js",[],[904,905,906,907,908,909,910,911,912],"assets\u002Fjs\u002Ficfcm_sw.js","assets\u002Fjs\u002Ficfcm_pn_app.js","assets\u002Fjs\u002Ficfcm_firebase_messaging.js","assets\u002Fjs\u002Ficfcm_firebase_app.js","assets\u002Fjs\u002Ficfcm_pn_registration.js","assets\u002Fjs\u002Ficfcm_pn_settings.js","assets\u002Fjs\u002Ficfcm_pn_push.js","assets\u002Fjs\u002Ficfcm_pn_device.js","assets\u002Fjs\u002Ficfcm_pn_shortcode.js",[914,915,916,917,918,919,920,921,922,923],"push-notification-for-post-and-buddypress\u002Fassets\u002Fcss\u002Fstyle.css?ver=","push-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_sw.js?ver=","push-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_pn_app.js?ver=","push-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_firebase_messaging.js?ver=","push-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_firebase_app.js?ver=","push-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_pn_registration.js?ver=","push-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_pn_settings.js?ver=","push-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_pn_push.js?ver=","push-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_pn_device.js?ver=","push-notification-for-post-and-buddypress\u002Fassets\u002Fjs\u002Ficfcm_pn_shortcode.js?ver=",{"cssClasses":925,"htmlComments":941,"htmlAttributes":950,"restEndpoints":957,"jsGlobals":963,"shortcodeOutput":967},[926,927,928,929,930,931,932,933,934,935,936,937,938,939,940],"pnfpb-notification-wrapper","pnfpb-settings-section","pnfpb-field-group","pnfpb-input-field","pnfpb-textarea-field","pnfpb-checkbox-field","pnfpb-radio-field","pnfpb-select-field","pnfpb-button","pnfpb-on-demand-push-form","pnfpb-device-tokens-list","pnfpb-pwa-settings-form","pnfpb-nginx-settings-form","pnfpb-schedule-actions-table","pnfpb-shortcode-generator-form",[942,943,944,945,946,947,948,949],"\u003C!-- PNFPB Settings Page Start -->","\u003C!-- PNFPB On Demand Push Notification Form -->","\u003C!-- PNFPB Device Tokens List -->","\u003C!-- PNFPB PWA Settings -->","\u003C!-- PNFPB NGINX Settings -->","\u003C!-- PNFPB Schedule Actions -->","\u003C!-- PNFPB Shortcode Generator -->","\u003C!-- PNFPB Plugin Loaded -->",[951,952,953,954,955,956],"data-pnfpb-setting","data-pnfpb-field","data-pnfpb-action","data-pnfpb-token-id","data-pnfpb-pwa-url","data-pnfpb-nginx-option",[958,959,960,961,962],"\u002Fwp-json\u002Fpnfpb\u002Fv1\u002Fsettings","\u002Fwp-json\u002Fpnfpb\u002Fv1\u002Ftokens","\u002Fwp-json\u002Fpnfpb\u002Fv1\u002Fpush","\u002Fwp-json\u002Fpnfpb\u002Fv1\u002Fpwa","\u002Fwp-json\u002Fpnfpb\u002Fv1\u002Fnginx",[964,965,966],"pnfpb_ajax_object","PNFPB_SW_URL","PNFPB_FIREBASE_CONFIG",[968,969,970,971],"[pnfpb_subscribe_button]","[pnfpb_push_notification_form]","[pnfpb_pwa_manifest]","[pnfpb_service_worker]"]