{"id":115951,"date":"2020-01-14T06:44:07","date_gmt":"2020-01-14T06:44:07","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/push-notification-for-postcustom-post-typesbuddypress\/"},"modified":"2026-04-06T12:59:00","modified_gmt":"2026-04-06T12:59:00","slug":"push-notification-for-post-and-buddypress","status":"publish","type":"plugin","link":"https:\/\/es-do.wordpress.org\/plugins\/push-notification-for-post-and-buddypress\/","author":14355013,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"3.14","stable_tag":"3.14","tested":"6.9.4","requires":"6.2","requires_php":"8.1","requires_plugins":null,"header_name":"Push Notification for Post and BuddyPress","header_author":"Muralidharan Ramasamy","header_description":"This plugin will add Push notification for Post, custom post types and for BuddyPress activities using Firebase. Update Firebase configuration details in <a href=\"options-general.php?page=icfcm_slug\"><strong>settings page<\/strong><\/a>","assets_banners_color":"a1c1ea","last_updated":"2026-04-06 12:59:00","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.muraliwebworld.com\/support-to-push-notification-plugin-for-buddypress-and-for-post\/","header_plugin_uri":"https:\/\/www.muraliwebworld.com\/groups\/wordpress-plugins-by-muralidharan-indiacitys-com-technologies\/forum\/topic\/push-notification-for-post-and-buddypress\/","header_author_uri":"https:\/\/www.muraliwebworld.com","rating":4.7,"author_block_rating":0,"active_installs":200,"downloads":31672,"num_ratings":24,"support_threads":2,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"murali-indiacitys","date":"2020-01-14 06:46:56"},"1.1":{"tag":"1.1","author":"murali-indiacitys","date":"2020-01-14 07:04:04"},"1.1.1":{"tag":"1.1.1","author":"murali-indiacitys","date":"2020-01-18 17:36:36"},"1.11":{"tag":"1.11","author":"murali-indiacitys","date":"2021-01-21 15:07:57"},"1.12":{"tag":"1.12","author":"murali-indiacitys","date":"2021-05-16 16:32:57"},"1.13":{"tag":"1.13","author":"murali-indiacitys","date":"2021-09-12 13:55:05"},"1.14":{"tag":"1.14","author":"murali-indiacitys","date":"2021-09-14 17:07:49"},"1.15":{"tag":"1.15","author":"murali-indiacitys","date":"2021-09-14 17:24:10"},"1.16":{"tag":"1.16","author":"murali-indiacitys","date":"2021-09-14 17:58:55"},"1.17":{"tag":"1.17","author":"murali-indiacitys","date":"2021-09-19 14:58:37"},"1.18":{"tag":"1.18","author":"murali-indiacitys","date":"2021-09-19 15:07:30"},"1.19":{"tag":"1.19","author":"murali-indiacitys","date":"2021-09-19 16:39:44"},"1.20":{"tag":"1.20","author":"murali-indiacitys","date":"2021-10-10 09:10:06"},"1.21":{"tag":"1.21","author":"murali-indiacitys","date":"2021-10-11 16:28:36"},"1.22":{"tag":"1.22","author":"murali-indiacitys","date":"2021-10-23 06:56:48"},"1.23":{"tag":"1.23","author":"murali-indiacitys","date":"2021-11-01 05:58:16"},"1.24":{"tag":"1.24","author":"murali-indiacitys","date":"2021-11-20 16:33:40"},"1.25":{"tag":"1.25","author":"murali-indiacitys","date":"2021-12-04 19:23:08"},"1.26":{"tag":"1.26","author":"murali-indiacitys","date":"2021-12-17 15:37:02"},"1.27":{"tag":"1.27","author":"murali-indiacitys","date":"2021-12-18 07:20:07"},"1.28":{"tag":"1.28","author":"murali-indiacitys","date":"2021-12-20 15:23:20"},"1.29":{"tag":"1.29","author":"murali-indiacitys","date":"2021-12-27 07:56:01"},"1.30":{"tag":"1.30","author":"murali-indiacitys","date":"2022-01-01 10:07:37"},"1.31":{"tag":"1.31","author":"murali-indiacitys","date":"2022-01-26 08:38:05"},"1.32":{"tag":"1.32","author":"murali-indiacitys","date":"2022-01-26 09:33:12"},"1.33":{"tag":"1.33","author":"murali-indiacitys","date":"2022-01-26 14:00:21"},"1.34":{"tag":"1.34","author":"murali-indiacitys","date":"2022-01-29 17:53:40"},"1.35":{"tag":"1.35","author":"murali-indiacitys","date":"2022-02-19 17:07:01"},"1.36":{"tag":"1.36","author":"murali-indiacitys","date":"2022-06-12 11:20:49"},"1.37":{"tag":"1.37","author":"murali-indiacitys","date":"2022-06-17 14:02:37"},"1.38":{"tag":"1.38","author":"murali-indiacitys","date":"2022-06-22 17:05:34"},"1.39":{"tag":"1.39","author":"murali-indiacitys","date":"2022-08-20 07:03:15"},"1.40":{"tag":"1.40","author":"murali-indiacitys","date":"2022-11-26 20:05:52"},"1.41":{"tag":"1.41","author":"murali-indiacitys","date":"2022-11-27 05:22:50"},"1.42":{"tag":"1.42","author":"murali-indiacitys","date":"2022-11-27 05:26:23"},"1.43":{"tag":"1.43","author":"murali-indiacitys","date":"2022-11-29 17:41:55"},"1.44":{"tag":"1.44","author":"murali-indiacitys","date":"2022-12-03 12:28:19"},"1.45":{"tag":"1.45","author":"murali-indiacitys","date":"2022-12-10 12:07:47"},"1.46":{"tag":"1.46","author":"murali-indiacitys","date":"2022-12-10 11:50:08"},"1.47":{"tag":"1.47","author":"murali-indiacitys","date":"2022-12-26 13:39:31"},"1.48":{"tag":"1.48","author":"murali-indiacitys","date":"2023-01-01 07:26:44"},"1.49":{"tag":"1.49","author":"murali-indiacitys","date":"2023-01-04 11:45:12"},"1.50":{"tag":"1.50","author":"murali-indiacitys","date":"2023-01-17 04:54:52"},"1.51":{"tag":"1.51","author":"murali-indiacitys","date":"2023-01-17 06:18:58"},"1.52":{"tag":"1.52","author":"murali-indiacitys","date":"2023-01-31 11:57:30"},"1.53":{"tag":"1.53","author":"murali-indiacitys","date":"2023-01-31 17:02:25"},"1.54":{"tag":"1.54","author":"murali-indiacitys","date":"2023-02-02 16:16:43"},"1.55":{"tag":"1.55","author":"murali-indiacitys","date":"2023-02-07 18:20:51"},"1.56":{"tag":"1.56","author":"murali-indiacitys","date":"2023-02-11 17:39:46"},"1.57":{"tag":"1.57","author":"murali-indiacitys","date":"2023-02-27 11:40:42"},"1.58":{"tag":"1.58","author":"murali-indiacitys","date":"2023-04-07 15:49:50"},"1.59":{"tag":"1.59","author":"murali-indiacitys","date":"2023-04-09 15:31:16"},"1.62":{"tag":"1.62","author":"murali-indiacitys","date":"2023-06-09 16:17:58"},"1.63":{"tag":"1.63","author":"murali-indiacitys","date":"2023-06-10 11:34:10"},"1.64":{"tag":"1.64","author":"murali-indiacitys","date":"2023-08-21 15:08:31"},"1.65":{"tag":"1.65","author":"murali-indiacitys","date":"2023-08-26 17:43:57"},"1.66":{"tag":"1.66","author":"murali-indiacitys","date":"2023-08-28 11:19:42"},"1.67":{"tag":"1.67","author":"murali-indiacitys","date":"2023-09-13 12:23:21"},"1.68":{"tag":"1.68","author":"murali-indiacitys","date":"2023-09-13 14:24:27"},"1.69":{"tag":"1.69","author":"murali-indiacitys","date":"2023-09-19 07:58:28"},"1.70":{"tag":"1.70","author":"murali-indiacitys","date":"2023-10-08 14:12:06"},"1.71":{"tag":"1.71","author":"murali-indiacitys","date":"2023-10-20 15:01:33"},"1.72":{"tag":"1.72","author":"murali-indiacitys","date":"2023-11-01 18:18:47"},"1.73":{"tag":"1.73","author":"murali-indiacitys","date":"2023-11-01 18:23:20"},"1.74":{"tag":"1.74","author":"murali-indiacitys","date":"2023-11-11 10:02:02"},"1.75":{"tag":"1.75","author":"murali-indiacitys","date":"2023-11-12 09:44:50"},"1.76":{"tag":"1.76","author":"murali-indiacitys","date":"2023-11-16 15:56:07"},"1.77":{"tag":"1.77","author":"murali-indiacitys","date":"2023-12-02 14:45:07"},"1.78":{"tag":"1.78","author":"murali-indiacitys","date":"2024-02-12 18:07:10"},"1.79":{"tag":"1.79","author":"murali-indiacitys","date":"2024-03-03 16:05:03"},"1.80":{"tag":"1.80","author":"murali-indiacitys","date":"2024-03-03 18:19:36"},"1.81":{"tag":"1.81","author":"murali-indiacitys","date":"2024-03-15 15:42:01"},"1.82":{"tag":"1.82","author":"murali-indiacitys","date":"2024-03-26 17:14:02"},"1.83":{"tag":"1.83","author":"murali-indiacitys","date":"2024-04-05 12:45:49"},"1.84":{"tag":"1.84","author":"murali-indiacitys","date":"2024-04-08 12:04:10"},"1.85":{"tag":"1.85","author":"murali-indiacitys","date":"2024-04-15 20:25:28"},"1.86":{"tag":"1.86","author":"murali-indiacitys","date":"2024-04-17 16:53:37"},"1.87":{"tag":"1.87","author":"murali-indiacitys","date":"2024-04-21 15:10:33"},"1.88":{"tag":"1.88","author":"murali-indiacitys","date":"2024-06-04 09:45:27"},"1.89":{"tag":"1.89","author":"murali-indiacitys","date":"2024-06-05 16:45:39"},"1.91":{"tag":"1.91","author":"murali-indiacitys","date":"2024-06-12 19:28:20"},"1.93":{"tag":"1.93","author":"murali-indiacitys","date":"2024-06-20 11:38:53"},"1.94":{"tag":"1.94","author":"murali-indiacitys","date":"2024-07-01 16:49:42"},"1.98":{"tag":"1.98","author":"murali-indiacitys","date":"2024-08-13 13:35:57"},"1.99":{"tag":"1.99","author":"murali-indiacitys","date":"2024-08-24 16:23:06"},"2.00":{"tag":"2.00","author":"murali-indiacitys","date":"2024-10-08 15:10:30"},"2.01":{"tag":"2.01","author":"murali-indiacitys","date":"2024-10-13 18:36:21"},"2.02":{"tag":"2.02","author":"murali-indiacitys","date":"2024-10-23 08:03:37"},"2.03":{"tag":"2.03","author":"murali-indiacitys","date":"2024-11-11 16:50:26"},"2.04":{"tag":"2.04","author":"murali-indiacitys","date":"2024-11-26 12:51:13"},"2.05":{"tag":"2.05","author":"murali-indiacitys","date":"2024-11-28 12:05:21"},"2.06":{"tag":"2.06","author":"murali-indiacitys","date":"2025-01-04 11:46:30"},"2.07":{"tag":"2.07","author":"murali-indiacitys","date":"2025-01-14 20:20:24"},"2.08":{"tag":"2.08","author":"murali-indiacitys","date":"2025-01-23 18:05:36"},"2.09":{"tag":"2.09","author":"murali-indiacitys","date":"2025-01-27 09:44:46"},"2.10":{"tag":"2.10","author":"murali-indiacitys","date":"2025-02-04 08:51:57"},"2.11":{"tag":"2.11","author":"murali-indiacitys","date":"2025-02-08 10:16:23"},"2.12":{"tag":"2.12","author":"murali-indiacitys","date":"2025-02-17 14:32:01"},"2.13":{"tag":"2.13","author":"murali-indiacitys","date":"2025-03-03 12:11:05"},"2.14":{"tag":"2.14","author":"murali-indiacitys","date":"2025-03-12 17:16:52"},"2.15":{"tag":"2.15","author":"murali-indiacitys","date":"2025-03-14 11:03:45"},"2.16":{"tag":"2.16","author":"murali-indiacitys","date":"2025-04-16 16:16:34"},"2.17":{"tag":"2.17","author":"murali-indiacitys","date":"2025-04-25 12:05:34"},"2.18":{"tag":"2.18","author":"murali-indiacitys","date":"2025-06-03 10:16:31"},"2.19":{"tag":"2.19","author":"murali-indiacitys","date":"2025-06-23 18:20:03"},"3.01":{"tag":"3.01","author":"murali-indiacitys","date":"2025-09-15 11:09:14"},"3.02":{"tag":"3.02","author":"murali-indiacitys","date":"2025-09-22 11:39:52"},"3.03":{"tag":"3.03","author":"murali-indiacitys","date":"2025-09-24 08:39:22"},"3.04":{"tag":"3.04","author":"murali-indiacitys","date":"2025-10-16 18:09:07"},"3.05":{"tag":"3.05","author":"murali-indiacitys","date":"2025-10-18 11:04:25"},"3.06":{"tag":"3.06","author":"murali-indiacitys","date":"2025-10-21 06:24:45"},"3.07":{"tag":"3.07","author":"murali-indiacitys","date":"2025-10-21 08:46:06"},"3.08":{"tag":"3.08","author":"murali-indiacitys","date":"2025-10-25 17:03:38"},"3.09":{"tag":"3.09","author":"murali-indiacitys","date":"2025-10-31 09:59:40"},"3.10":{"tag":"3.10","author":"murali-indiacitys","date":"2025-11-06 09:26:49"},"3.11":{"tag":"3.11","author":"murali-indiacitys","date":"2025-11-22 16:03:53"},"3.12":{"tag":"3.12","author":"murali-indiacitys","date":"2025-12-12 13:27:19"},"3.13":{"tag":"3.13","author":"murali-indiacitys","date":"2025-12-14 13:59:05"},"3.14":{"tag":"3.14","author":"murali-indiacitys","date":"2026-04-06 12:59:00"}},"upgrade_notice":{"":"<ul>\n<li>Optional AI assistant now helps draft on-demand and post notifications in 3.14.<\/li>\n<\/ul>"},"ratings":{"1":1,"2":0,"3":1,"4":2,"5":20},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2226921,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2226921,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3380595,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3499869,"resolution":false,"location":"assets","locale":"","contents":"{\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=pnfpb-icfcm-slug\",\"preferredVersions\":{\"php\":\"8.0\",\"wp\":\"latest\"},\"phpExtensionBundles\":[\"kitchen-sink\"],\"features\":{\"networking\":true},\"steps\":[{\"step\":\"installPlugin\",\"options\":{\"activate\":true},\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"buddypress\"}},{\"step\":\"installPlugin\",\"options\":{\"activate\":true},\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"push-notification-for-post-and-buddypress\"}},{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"}]}"}},"all_blocks":[],"tagged_versions":["1.0","1.1","1.1.1","1.11","1.12","1.13","1.14","1.15","1.16","1.17","1.18","1.19","1.20","1.21","1.22","1.23","1.24","1.25","1.26","1.27","1.28","1.29","1.30","1.31","1.32","1.33","1.34","1.35","1.36","1.37","1.38","1.39","1.40","1.41","1.42","1.43","1.44","1.45","1.46","1.47","1.48","1.49","1.50","1.51","1.52","1.53","1.54","1.55","1.56","1.57","1.58","1.59","1.62","1.63","1.64","1.65","1.66","1.67","1.68","1.69","1.70","1.71","1.72","1.73","1.74","1.75","1.76","1.77","1.78","1.79","1.80","1.81","1.82","1.83","1.84","1.85","1.86","1.87","1.88","1.89","1.91","1.93","1.94","1.98","1.99","2.00","2.01","2.02","2.03","2.04","2.05","2.06","2.07","2.08","2.09","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","3.01","3.02","3.03","3.04","3.05","3.06","3.07","3.08","3.09","3.10","3.11","3.12","3.13","3.14"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2839426,"resolution":"1","location":"assets","locale":""},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3499869,"resolution":"10","location":"assets","locale":""},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3499869,"resolution":"11","location":"assets","locale":""},"screenshot-12.png":{"filename":"screenshot-12.png","revision":3499869,"resolution":"12","location":"assets","locale":""},"screenshot-13.png":{"filename":"screenshot-13.png","revision":3499869,"resolution":"13","location":"assets","locale":""},"screenshot-14.png":{"filename":"screenshot-14.png","revision":3499869,"resolution":"14","location":"assets","locale":""},"screenshot-15.png":{"filename":"screenshot-15.png","revision":3499869,"resolution":"15","location":"assets","locale":""},"screenshot-16.png":{"filename":"screenshot-16.png","revision":3499869,"resolution":"16","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3361788,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3499869,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3499869,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3499869,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3499869,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3499869,"resolution":"7","location":"assets","locale":""},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3499869,"resolution":"8","location":"assets","locale":""},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3499869,"resolution":"9","location":"assets","locale":""}},"screenshots":{"1":"Push notification received on a mobile device.","2":"Desktop browser push notification.","3":"Plugin settings \u2014 Firebase configuration tab.","4":"Plugin settings \u2014 push notification options including BuddyPress triggers.","5":"Frontend shortcode subscription panel \u2014 users select which notification types to receive.","6":"BuddyPress group page showing the group subscribe \/ unsubscribe push notification button.","7":"Admin subscriber token list.","8":"Progressive Web App (PWA) settings page.","9":"On-demand push notification admin panel.","10":"Customize buttons and labels settings.","11":"Mobile app REST API configuration tab.\n12.Special settings for NGINX based server"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[204,14432,2429,139244,7291],"plugin_category":[44],"plugin_contributors":[86330],"plugin_business_model":[],"class_list":["post-115951","plugin","type-plugin","status-publish","hentry","plugin_tags-buddypress","plugin_tags-firebase","plugin_tags-mobile-app","plugin_tags-progressive-web-app","plugin_tags-push-notification","plugin_category-discussion-and-community","plugin_contributors-murali-indiacitys","plugin_committers-indiacitys","plugin_committers-murali-indiacitys"],"banners":{"banner":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/banner-772x250.png?rev=3380595","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/icon-128x128.png?rev=2226921","icon_2x":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/icon-256x256.png?rev=2226921","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-1.png?rev=2839426","caption":"Push notification received on a mobile device."},{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-2.png?rev=3361788","caption":"Desktop browser push notification."},{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-3.png?rev=3499869","caption":"Plugin settings \u2014 Firebase configuration tab."},{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-4.png?rev=3499869","caption":"Plugin settings \u2014 push notification options including BuddyPress triggers."},{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-5.png?rev=3499869","caption":"Frontend shortcode subscription panel \u2014 users select which notification types to receive."},{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-6.png?rev=3499869","caption":"BuddyPress group page showing the group subscribe \/ unsubscribe push notification button."},{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-7.png?rev=3499869","caption":"Admin subscriber token list."},{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-8.png?rev=3499869","caption":"Progressive Web App (PWA) settings page."},{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-9.png?rev=3499869","caption":"On-demand push notification admin panel."},{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-10.png?rev=3499869","caption":"Customize buttons and labels settings."},{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-11.png?rev=3499869","caption":"Mobile app REST API configuration tab.\n12.Special settings for NGINX based server"},{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-12.png?rev=3499869","caption":""},{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-13.png?rev=3499869","caption":""},{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-14.png?rev=3499869","caption":""},{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-15.png?rev=3499869","caption":""},{"src":"https:\/\/ps.w.org\/push-notification-for-post-and-buddypress\/assets\/screenshot-16.png?rev=3499869","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>Push Notification for Post and BuddyPress (PNFPB)<\/strong> delivers free web push notifications to desktop browsers, Android, and iOS devices using Firebase Cloud Messaging (FCM) HTTP v1, self-hosted WebPush (VAPID), OneSignal, or Progressier as the push provider. Notifications fire automatically when posts, custom post types, or BuddyPress events are published. The plugin also generates a full Progressive Web App (PWA) with offline cache support.<\/p>\n\n<h4>Push Notification Providers<\/h4>\n\n<p>Choose one or more providers to match your infrastructure:<\/p>\n\n<ul>\n<li><strong>Firebase HTTP v1 (FCM)<\/strong> \u2013 recommended; supports browser, Android, and iOS. Free via Google Firebase.<\/li>\n<li><strong>WebPush (self-hosted VAPID)<\/strong> \u2013 open standard; no Google account required; browser-only.<\/li>\n<li><strong>OneSignal<\/strong> \u2013 hosted service; supports browser and mobile app push. Free tier available.<\/li>\n<li><strong>Progressier<\/strong> \u2013 hosted PWA push provider.<\/li>\n<li><strong>webtoapp.design<\/strong> \u2013 push for mobile apps generated by webtoapp.design. Can run alongside Firebase or OneSignal to reach both browser and app audiences simultaneously.<\/li>\n<\/ul>\n\n<h4>Notification Triggers<\/h4>\n\n<p><strong>WordPress content<\/strong><\/p>\n\n<ul>\n<li>New post or custom post type published (including bbPress topics).<\/li>\n<li>New WooCommerce product published.<\/li>\n<li>New comment on a post.<\/li>\n<\/ul>\n\n<p><strong>BuddyPress \/ BuddyBoss<\/strong><\/p>\n\n<ul>\n<li>New activity update (supports <code>[member name]<\/code> dynamic tag).<\/li>\n<li>New group activity (delivered only to group members; supports <code>[group name]<\/code> tag).<\/li>\n<li>Activity comment posted.<\/li>\n<li>Private message sent \u2014 delivered only to the recipient (compatible with BP Better Messages).<\/li>\n<li>Friendship request sent \u2014 delivered only to the recipient.<\/li>\n<li>Friendship request accepted \u2014 delivered only to the requester.<\/li>\n<li>New member joined.<\/li>\n<li>Member avatar changed.<\/li>\n<li>Member cover image changed.<\/li>\n<li>Group details updated \u2014 delivered to group members.<\/li>\n<li>Group invitation sent \u2014 delivered only to the invited user.<\/li>\n<li>Activity marked as favourite \/ liked \u2014 delivered to the activity author.<\/li>\n<li>BuddyPress follow (requires BuddyPress Followers plugin).<\/li>\n<\/ul>\n\n<p><strong>Admin-only notifications<\/strong><\/p>\n\n<ul>\n<li>Contact Form 7 submission received.<\/li>\n<li>New user registration.<\/li>\n<\/ul>\n\n<p>Full documentation is available at <a href=\"https:\/\/wiki.pnfpb.com\/\">wiki.pnfpb.com<\/a>.<\/p>\n\n<h4>Scheduling<\/h4>\n\n<p>Every notification type can be sent immediately or scheduled using WordPress Cron (hourly, twice-daily, daily, weekly). For high-volume sites, enable <strong>background scheduling via Action Scheduler<\/strong> to process 200,000+ subscribers without hitting PHP execution limits.<\/p>\n\n<h4>On-Demand Push<\/h4>\n\n<p>Send a push notification to all subscribers at any time from the admin panel \u2014 with a custom title, message body, image, and click URL. One-time and recurring schedules (daily, weekly, monthly) are supported.<\/p>\n\n<h4>AI Assistant<\/h4>\n\n<p>PNFPB includes an optional AI assistant for two workflows:<\/p>\n\n<ul>\n<li><strong>On-demand push<\/strong> - generate a notification draft from the current form data before sending.<\/li>\n<li><strong>Post notification<\/strong> - generate suggested title, content, and send time from the post editor.<\/li>\n<\/ul>\n\n<p>The AI layer uses a provider contract so the backend can be swapped later without changing the notification workflow. You can also control privacy settings so only the required content is shared with the AI provider.<\/p>\n\n<h4>Frontend Subscription Controls<\/h4>\n\n<ul>\n<li><strong>Custom popup prompt<\/strong> \u2014 configurable subscription dialog that appears automatically in the browser. Users can select which notification types they want (posts, activities, comments, friendships, etc.) at subscribe time or later.<\/li>\n<li><strong>Bell icon prompt<\/strong> \u2014 persistent bell widget for subscribe\/unsubscribe without a full page reload.<\/li>\n<li><strong>BuddyPress profile tab<\/strong> \u2014 a Push Notifications tab is added to each member's profile settings for managing subscriptions.<\/li>\n<li><strong>Group subscribe button<\/strong> \u2014 subscribe\/unsubscribe button added to BuddyPress group headers.<\/li>\n<\/ul>\n\n<h4>Shortcodes<\/h4>\n\n<ul>\n<li><code>[subscribe_PNFPB_push_notification]<\/code> \u2014 renders an inline subscribe\/unsubscribe button with a notification-type preference panel. All button labels and colors are configurable under PNFPB \u2192 Customize Buttons.<\/li>\n<li><code>[PNFPB_PWA_PROMPT]<\/code> \u2014 renders the PWA install prompt. Use this when the automatic footer prompt is disabled and you want a specific page or sidebar widget to trigger the install flow.<\/li>\n<\/ul>\n\n<h4>Progressive Web App (PWA)<\/h4>\n\n<p>PNFPB generates a web app manifest (<code>pnfpbmanifest.json<\/code>) and service worker (<code>pnfpb_icpush_pwa_sw.js<\/code>) so visitors can install your site as a home-screen PWA on any device.<\/p>\n\n<ul>\n<li>Configure app name, short name, start URL, display mode, theme color, background color, and icons (192\u00d7192 and 512\u00d7512 PNG required).<\/li>\n<li>Define a list of page URLs to cache for offline viewing. Uncached pages fall back to a built-in offline page.<\/li>\n<li>Customisable PWA install prompt (banner or dialog style) with separate iOS guidance (Safari \u2192 Share \u2192 Add to Home Screen).<\/li>\n<li>iOS 17.0+ required for full PWA install support.<\/li>\n<li><strong>NGINX servers:<\/strong> if dynamic file serving is unavailable, enable the static file option in PNFPB \u2192 NGINX settings to write the service worker and manifest as static files to the site root.<\/li>\n<\/ul>\n\n<h4>Mobile App Integration<\/h4>\n\n<ul>\n<li><strong>REST API<\/strong> \u2014 register FCM\/APNs device tokens from native Android or iOS apps via <code>POST \/wp-json\/pnfpb\/v1\/subscribe<\/code>. Allows push notifications to reach both web subscribers and native app users from the same WordPress event.<\/li>\n<li><strong>webtoapp.design<\/strong> \u2014 dedicated integration for WebView-based apps generated by webtoapp.design.<\/li>\n<li>Sample Android and iOS client code is available on GitHub (linked in the installation instructions below).<\/li>\n<\/ul>\n\n<h4>Multisite<\/h4>\n\n<p>The plugin is multisite-compatible. On network activation it creates the required database tables for every existing site, and automatically provisions tables for new sites added to the network.<\/p>\n\n<h4>Firebase Analytics<\/h4>\n\n<p>When Google Analytics is linked to your Firebase project the plugin sends <code>notification_open<\/code>, <code>notification_read<\/code>, and <code>page_view<\/code> events to the Firebase Analytics console for open-rate reporting.<\/p>\n\n<h4>Developer Extensibility<\/h4>\n\n<ul>\n<li><strong>Action hooks<\/strong> to trigger post or BuddyPress activity notifications programmatically from your own code.<\/li>\n<li><strong>Filter hook<\/strong> <code>pnfpb_service_worker_extension<\/code> to inject custom JavaScript into the generated service worker \u2014 the standard integration point for combining PNFPB with other service-worker-based plugins.<\/li>\n<li>Full hook, filter, REST API, and database schema reference: <a href=\"https:\/\/wiki.pnfpb.com\/developer-reference\/\">wiki.pnfpb.com\/developer-reference\/<\/a><\/li>\n<\/ul>\n\n<h4>Demo<\/h4>\n\n<p><a href=\"https:\/\/www.pnfpb.com\/\">Test PNFPB on the demo site<\/a><\/p>\n\n<h4>Knowledgebase<\/h4>\n\n<p><a href=\"https:\/\/wiki.pnfpb.com\/\">Documentation on PNFPB plugin available at wiki.pnfpb.com<\/a><\/p>\n\n<!--section=installation-->\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.2 or later<\/li>\n<li>PHP 8.1 or later<\/li>\n<li>MySQL 5.7+ or MariaDB 10.3+<\/li>\n<li>SSL \/ HTTPS (required by all modern push APIs)<\/li>\n<li>BuddyPress (optional \u2014 only required for BuddyPress notifications)<\/li>\n<\/ul>\n\n<h4>Install from WordPress.org<\/h4>\n\n<ol>\n<li>In your admin dashboard go to <strong>Plugins \u2192 Add New<\/strong>.<\/li>\n<li>Search for <strong>Push Notification for Post and BuddyPress<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<\/ol>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin ZIP from <a href=\"https:\/\/wordpress.org\/plugins\/push-notification-for-post-and-buddypress\/\">wordpress.org\/plugins\/push-notification-for-post-and-buddypress\/<\/a>.<\/li>\n<li>Go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Choose the ZIP file and click <strong>Install Now<\/strong>, then <strong>Activate Plugin<\/strong>.<\/li>\n<\/ol>\n\n<h4>Quick Start<\/h4>\n\n<ol>\n<li>Go to <strong>Settings \u2192 Push Notification using FCM<\/strong> (or use the side-menu link).<\/li>\n<li>In the <strong>Firebase Configuration<\/strong> tab enter your Firebase project credentials (API Key, Auth Domain, Project ID, Storage Bucket, Messaging Sender ID, App ID, VAPID public key) and upload your Service Account JSON file to enable HTTP v1.<\/li>\n<li>In the <strong>Push Settings<\/strong> tab enable the notification types you need.<\/li>\n<li>Visit your site in a browser and allow the push notification permission prompt.<\/li>\n<li>Publish a test post or use <strong>On-Demand Push<\/strong> to send an immediate notification.<\/li>\n<\/ol>\n\n<h4>Firebase Credential Reference<\/h4>\n\n<ul>\n<li><strong>Firebase config values<\/strong> (API Key \u2192 App ID): Firebase Console \u2192 Project Settings \u2192 General \u2192 Your apps \u2192 Config.<\/li>\n<li><strong>VAPID public key<\/strong>: Firebase Console \u2192 Project Settings \u2192 Cloud Messaging \u2192 Web Push certificates \u2192 Generate key pair. Do not generate a second pair after subscribing users \u2014 it invalidates existing tokens.<\/li>\n<li><strong>Service Account JSON<\/strong> (HTTP v1): Firebase Console \u2192 Project Settings \u2192 Service accounts \u2192 Generate new private key.<\/li>\n<\/ul>\n\n<p>For a full walkthrough see the video tutorial above or <a href=\"https:\/\/wiki.pnfpb.com\/firebase-configuration\/\">wiki.pnfpb.com\/firebase-configuration\/<\/a>.<\/p>\n\n<h4>Mobile App Integration<\/h4>\n\n<ul>\n<li>Android sample app: <a href=\"https:\/\/github.com\/muraliwebworld\/android-app-to-integrate-push-notification-wordpress-plugin\/\">github.com\/muraliwebworld\/android-app-to-integrate-push-notification-wordpress-plugin\/<\/a><\/li>\n<li>iOS sample app: <a href=\"https:\/\/github.com\/muraliwebworld\/ios-swift-app-to-integrate-push-notification-wordpress-plugin\/\">github.com\/muraliwebworld\/ios-swift-app-to-integrate-push-notification-wordpress-plugin\/<\/a><\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20buddypress%20to%20use%20this%20plugin%3F\"><h3>Do I need BuddyPress to use this plugin?<\/h3><\/dt>\n<dd><p>No. Post notifications, on-demand push, PWA, frontend subscription, and mobile app integration all work without BuddyPress. BuddyPress notifications are an optional addition.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20firebase%20http%20v1%20and%20webpush%3F\"><h3>What is the difference between Firebase HTTP v1 and WebPush?<\/h3><\/dt>\n<dd><p>Firebase HTTP v1 uses Google's FCM infrastructure and requires a service account JSON file. It supports both web browsers and native Android\/iOS push. WebPush (VAPID) is a self-hosted open standard that requires no Google account but is limited to web browsers only.<\/p><\/dd>\n<dt id=\"does%20pwa%20work%20on%20ios%3F\"><h3>Does PWA work on iOS?<\/h3><\/dt>\n<dd><p>Full PWA install requires iOS 17.0 or later. The install path on iOS is: <strong>Safari \u2192 Share \u2192 Add to Home Screen<\/strong>. The plugin displays iOS-specific guidance in its install prompt automatically.<\/p><\/dd>\n<dt id=\"how%20many%20subscribers%20can%20the%20plugin%20handle%3F\"><h3>How many subscribers can the plugin handle?<\/h3><\/dt>\n<dd><p>There is no hard subscriber limit. For sites with more than 1,000 subscribers, enable <strong>Background Scheduling<\/strong> for all notification types to avoid PHP execution time limits. For very high volumes (100,000+) consider a hosted provider such as OneSignal or Progressier.<\/p><\/dd>\n<dt id=\"can%20i%20use%20multiple%20push%20providers%20at%20the%20same%20time%3F\"><h3>Can I use multiple push providers at the same time?<\/h3><\/dt>\n<dd><p>Yes. Firebase HTTP v1 (or WebPush \/ OneSignal) handles browser and mobile subscribers, while webtoapp.design handles users of your generated mobile app. Both run simultaneously. OneSignal and Progressier are alternatives to Firebase \u2014 they do not run alongside it.<\/p><\/dd>\n<dt id=\"why%20is%20my%20measurement%20id%20field%20empty%3F\"><h3>Why is my Measurement ID field empty?<\/h3><\/dt>\n<dd><p>The Measurement ID (<code>measurementId<\/code>) is only present in Firebase projects where Google Analytics is enabled. It is optional \u2014 the plugin works fully without it.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20deactivate%20the%20plugin%3F\"><h3>What happens when I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Deactivation unschedules all WP Cron and Action Scheduler jobs. The database tables and stored device tokens are <strong>not<\/strong> deleted on deactivation; they are only removed on full uninstall via <code>uninstall.php<\/code>. Reactivating the plugin immediately restores all functionality.<\/p><\/dd>\n<dt id=\"where%20are%20subscriber%20tokens%20stored%3F\"><h3>Where are subscriber tokens stored?<\/h3><\/dt>\n<dd><p>In the <code>{prefix}pnfpb_ic_subscribed_deviceids_web<\/code> database table. Do not bulk-delete rows unless the tokens are confirmed invalid \u2014 deleting a valid token permanently unsubscribes that user.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20compatible%20with%20woocommerce%3F\"><h3>Is the plugin compatible with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. WooCommerce products are a custom post type. Enable push notifications for the <code>product<\/code> post type in PNFPB settings to notify subscribers when new products are published.<\/p><\/dd>\n<dt id=\"my%20nginx%20server%20is%20not%20serving%20the%20service%20worker%20or%20manifest.%20what%20should%20i%20do%3F\"><h3>My NGINX server is not serving the service worker or manifest. What should I do?<\/h3><\/dt>\n<dd><p>Go to <strong>PNFPB \u2192 NGINX settings<\/strong>, enable the static file creation option. The plugin will write <code>pnfpb_icpush_pwa_sw.js<\/code> and <code>pnfpbmanifest.json<\/code> as static files to your site root. See <a href=\"https:\/\/wiki.pnfpb.com\/nginx-setup\/\">wiki.pnfpb.com\/nginx-setup\/<\/a> for details.<\/p><\/dd>\n<dt id=\"how%20do%20i%20report%20a%20security%20vulnerability%3F\"><h3>How do I report a security vulnerability?<\/h3><\/dt>\n<dd><p>Report security bugs through the Patchstack Vulnerability Disclosure Program. <a href=\"https:\/\/patchstack.com\/database\/wordpress\/plugin\/push-notification-for-post-and-buddypress\/vdp\">Report a security vulnerability.<\/a><\/p><\/dd>\n<dt id=\"where%20can%20i%20get%20support%3F\"><h3>Where can I get support?<\/h3><\/dt>\n<dd><ul>\n<li><a href=\"https:\/\/wordpress.org\/support\/plugin\/push-notification-for-post-and-buddypress\/\">Plugin support forum on WordPress.org<\/a><\/li>\n<li><a href=\"https:\/\/www.muraliwebworld.com\/groups\/wordpress-plugins-by-muralidharan-indiacitys-com-technologies\/forum\/topic\/push-notification-for-post-and-buddypress\/\">Community forum<\/a><\/li>\n<li><a href=\"https:\/\/indiacitys.com\/#contact\">Contact form<\/a><\/li>\n<\/ul><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.14 version<\/h4>\n\n<ul>\n<li>Added optional AI assistant for on-demand push and post notification drafts.<\/li>\n<li>Added provider contract, privacy controls, and dismissible upgrade notice.<\/li>\n<li>Modernized admin plugin settings.<\/li>\n<li>Performance improvement and bug fixes<\/li>\n<\/ul>","raw_excerpt":"Push notifications for WordPress post, BuddyPress, WooCommerce with PWA support, mobile app integration, and AI Notification drafts.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/115951","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=115951"}],"author":[{"embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/murali-indiacitys"}],"wp:attachment":[{"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=115951"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=115951"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=115951"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=115951"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=115951"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=115951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}