{"id":397831,"date":"2026-11-06T05:24:32","date_gmt":"2026-11-06T05:24:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/hibira-realtime\/"},"modified":"2026-11-06T05:24:08","modified_gmt":"2026-11-06T05:24:08","slug":"hibira","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/hibira\/","author":23598222,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.2","stable_tag":"0.1.2","tested":"7.1.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Hibira Realtime","header_author":"Hibira","header_description":"Live comments, \"this post was updated\" notices, a readers-now count and live WooCommerce order status, on Hibira's Pusher-compatible realtime service.","assets_banners_color":"f9f6f0","last_updated":"2026-11-06 05:24:08","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/hibira-io\/wordpress","header_author_uri":"https:\/\/hibira.io\/?utm_source=wordpress&utm_medium=plugin&utm_campaign=plugins","rating":0,"author_block_rating":0,"active_installs":0,"downloads":123,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.2":{"tag":"0.1.2","author":"hibira","date":"2026-11-06 05:24:08","revision":3787172}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3787172,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3787172,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3787172,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3787172,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.2"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[5830,4906,3518,190408,286],"plugin_category":[45],"plugin_contributors":[291028],"plugin_business_model":[],"class_list":["post-397831","plugin","type-plugin","status-publish","hentry","plugin_tags-live-comments","plugin_tags-notifications","plugin_tags-realtime","plugin_tags-websocket","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-hibira","plugin_committers-hibira"],"banners":{"banner":"https:\/\/ps.w.org\/hibira\/assets\/banner-772x250.png?rev=3787172","banner_2x":"https:\/\/ps.w.org\/hibira\/assets\/banner-1544x500.png?rev=3787172","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/hibira\/assets\/icon-128x128.png?rev=3787172","icon_2x":"https:\/\/ps.w.org\/hibira\/assets\/icon-256x256.png?rev=3787172","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Hibira Realtime makes your site update while people are looking at it. It uses <a href=\"https:\/\/hibira.io\/?utm_source=wordpress&amp;utm_medium=readme&amp;utm_campaign=plugins\">Hibira<\/a>, a hosted realtime service that speaks the Pusher Channels protocol, so your server never holds WebSocket connections open. Pages stay cacheable.<\/p>\n\n<ul>\n<li><strong>Live comments.<\/strong> An approved comment shows up for everyone reading the post, without a reload. Replies go under their parent comment.<\/li>\n<li><strong>Post updated notice.<\/strong> When you update a published post, its readers see a notice with a Reload button.<\/li>\n<li><strong>Readers now.<\/strong> A small \"12 reading now\" counter on posts, in a corner of the page or wherever you put the <code>[hibira_readers]<\/code> shortcode or <code>hibira_readers()<\/code> template tag.<\/li>\n<li><strong>WooCommerce order status.<\/strong> The order received and view order pages change when the order status changes, so customers waiting on \"Processing\" see \"Completed\" the moment you mark it.<\/li>\n<li><strong>Admin notices.<\/strong> A notice in wp-admin when an order comes in or a comment awaits approval.<\/li>\n<li><strong>For developers.<\/strong> <code>hibira_trigger( $channels, $event, $data )<\/code> sends your own events, and <code>HibiraWP.pusher()<\/code> in the browser subscribes to them. Private and presence channels are signed by <code>\/wp-json\/hibira\/v1\/auth<\/code> and decided by the <code>hibira_authorize_channel<\/code> filter.<\/li>\n<\/ul>\n\n<p>Hibira's free plan (no card) covers a typical blog: 100 concurrent connections and 200,000 messages a day.<\/p>\n\n<h4>External service<\/h4>\n\n<p>This plugin connects to Hibira (ws.hibira.io by default, or the host you set):<\/p>\n\n<ul>\n<li>Your server sends events (comment author name, avatar URL and comment text of approved comments; post modified time; order status; order number and total for admin notices) to Hibira's HTTP API when they happen.<\/li>\n<li>Visitors' browsers open a WebSocket connection to Hibira on posts and order pages, to receive those events. For the readers-now count, each browser joins with a random ID; no names or personal data are sent.<\/li>\n<\/ul>\n\n<p>Hibira's <a href=\"https:\/\/hibira.io\/legal\/terms\">terms<\/a> and <a href=\"https:\/\/hibira.io\/legal\/privacy\">privacy policy<\/a>.<\/p>\n\n<h4>Source code and libraries<\/h4>\n\n<p>The plugin's source, with its tests, is at <a href=\"https:\/\/github.com\/hibira-io\/wordpress\">github.com\/hibira-io\/wordpress<\/a>.<\/p>\n\n<pre><code>assets\/vendor\/pusher.min.js is the minified build of [pusher-js](https:\/\/github.com\/pusher\/pusher-js) 8.6.0 (MIT), unchanged except for the removed source map comment. Its source is at [github.com\/pusher\/pusher-js](https:\/\/github.com\/pusher\/pusher-js), and the same file can be built with `npm install pusher-js@8.6.0` (`dist\/web\/pusher.min.js`).\n<\/code><\/pre>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Create a free app at <a href=\"https:\/\/hibira.io\/portal\">hibira.io<\/a>, open it and copy the app ID, key and secret.<\/li>\n<li>Go to <strong>Settings \u2192 Hibira<\/strong>, paste them, choose the features, and press <strong>Send a test event<\/strong>.<\/li>\n<\/ol>\n\n<p>To keep the secret out of the database, put it in wp-config.php instead:<\/p>\n\n<pre><code>define( 'HIBIRA_APP_SECRET', 'your-secret' );\n\nHIBIRA_APP_ID, `HIBIRA_APP_KEY` and `HIBIRA_HOST` work the same way.\n<\/code><\/pre>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20with%20page%20caching%3F\"><h3>Does it work with page caching?<\/h3><\/dt>\n<dd><p>Yes. Pages are served from the cache as usual; the live parts connect from the browser. Visitors' auth requests (readers now, guest order pages) do not need a nonce.<\/p><\/dd>\n<dt id=\"do%20i%20need%20pusher%3F\"><h3>Do I need Pusher?<\/h3><\/dt>\n<dd><p>No. Hibira speaks the same protocol as Pusher Channels, so the plugin uses the standard pusher-js library pointed at Hibira. It also works with another Pusher-compatible server if you set its host and port.<\/p><\/dd>\n<dt id=\"how%20much%20does%20it%20cost%3F\"><h3>How much does it cost?<\/h3><\/dt>\n<dd><p>Each event counts as one message, however many readers receive it. Readers now uses presence channels: each open tab is one connection, and a channel shows at most 100 members, so busier posts show \"100+\".<\/p><\/dd>\n<dt id=\"my%20theme%27s%20comments%20look%20different%20from%20the%20live%20ones\"><h3>My theme's comments look different from the live ones<\/h3><\/dt>\n<dd><p>Live comments use WordPress's classic comment markup (<code>li.comment &gt; article.comment-body<\/code>). To change what is sent, use the <code>hibira_comment_payload<\/code> filter.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Translations come from translate.wordpress.org; the plugin no longer ships .po\/.mo files or calls load_plugin_textdomain().<\/li>\n<li>The auth endpoint checks each channel in its permission callback and validates its parameters.<\/li>\n<li>Stricter sanitizing of settings and of live comment HTML.<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>README: cover image and screenshots.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First release: live comments, post updated notice, readers now, WooCommerce order status, admin notices, <code>hibira_trigger()<\/code>.<\/li>\n<\/ul>","raw_excerpt":"Live comments, \"this post was updated\" notices, a readers-now count and live WooCommerce order status, on a hosted WebSocket service.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/397831","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=397831"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hibira"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=397831"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=397831"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=397831"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=397831"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=397831"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=397831"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}