{"id":347812,"date":"2026-09-22T23:42:48","date_gmt":"2026-09-22T23:42:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/publishdesk-connector\/"},"modified":"2026-09-22T23:42:12","modified_gmt":"2026-09-22T23:42:12","slug":"publishdesk-connector","status":"publish","type":"plugin","link":"https:\/\/nn.wordpress.org\/plugins\/publishdesk-connector\/","author":23537891,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.6.9","stable_tag":"1.6.9","tested":"7.0.6","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"PublishDesk Connector","header_author":"PublishDesk","header_description":"Run breaking-news coverage, publish into exact categories, and manage posts across your WordPress sites from one editorial command center. Includes a free local breaking-news banner.","assets_banners_color":"1b2a4a","last_updated":"2026-09-22 23:42:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/publishdesk.io","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":63,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.6.9":{"tag":"1.6.9","author":"publishdesk","date":"2026-09-22 23:42:12","revision":3708256}},"upgrade_notice":{"1.6.9":"<p>Fixes the oversized PublishDesk icon in the WordPress admin menu, which\noverlapped neighbouring menu items.<\/p>","1.3.0":"<p>One-click connection: PublishDesk auto-configures this plugin over your existing\nsite link \u2014 no key to copy. Connect from PublishDesk \u2192 Sites.<\/p>","1.2.1":"<p>Easier connection: the site key is the only field to fill, the API URL is\npre-filled, and a blank\/invalid URL now self-heals to the default.<\/p>","1.2.0":"<p>Performance and robustness update: cached live polling for breaking coverage at\nscale, versioned outbound requests, and a hardened API base. Recommended for all\nsites running live coverage.<\/p>","1.1.0":"<p>Adds the breaking-news banner, free local features, remote content management, and\na branded admin experience.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3708256,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3708256,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3708256,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3708256,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"publishdesk\/live-story":{"name":"publishdesk\/live-story","title":"PublishDesk Live Story"}},"tagged_versions":["1.6.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3708256,"resolution":"1","location":"assets","locale":"","width":1920,"height":1200},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3708256,"resolution":"2","location":"assets","locale":"","width":1917,"height":964},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3708256,"resolution":"3","location":"assets","locale":"","width":1920,"height":1200},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3708256,"resolution":"4","location":"assets","locale":"","width":1920,"height":1200}},"screenshots":{"1":"The breaking-news banner live on a WordPress site.","2":"The PublishDesk command center \u2014 per-site category targeting.","3":"The plugin's branded settings page in wp-admin.","4":"The local breaking-news banner configured without an account."}},"plugin_section":[],"plugin_tags":[34890,228409,96456,577,282169],"plugin_category":[],"plugin_contributors":[282170],"plugin_business_model":[],"class_list":["post-347812","plugin","type-plugin","status-publish","hentry","plugin_tags-breaking-news","plugin_tags-content-calendar","plugin_tags-editorial-workflow","plugin_tags-live-blog","plugin_tags-multi-site-publishing","plugin_contributors-publishdesk","plugin_committers-publishdesk"],"banners":{"banner":"https:\/\/ps.w.org\/publishdesk-connector\/assets\/banner-772x250.png?rev=3708256","banner_2x":"https:\/\/ps.w.org\/publishdesk-connector\/assets\/banner-1544x500.png?rev=3708256","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/publishdesk-connector\/assets\/icon-128x128.png?rev=3708256","icon_2x":"https:\/\/ps.w.org\/publishdesk-connector\/assets\/icon-256x256.png?rev=3708256","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/publishdesk-connector\/assets\/screenshot-1.png?rev=3708256","caption":"The breaking-news banner live on a WordPress site."},{"src":"https:\/\/ps.w.org\/publishdesk-connector\/assets\/screenshot-2.png?rev=3708256","caption":"The PublishDesk command center \u2014 per-site category targeting."},{"src":"https:\/\/ps.w.org\/publishdesk-connector\/assets\/screenshot-3.png?rev=3708256","caption":"The plugin's branded settings page in wp-admin."},{"src":"https:\/\/ps.w.org\/publishdesk-connector\/assets\/screenshot-4.png?rev=3708256","caption":"The local breaking-news banner configured without an account."}],"raw_content":"<!--section=description-->\n<p>PublishDesk Connector turns WordPress into a newsroom command center. Connect a\nfree PublishDesk workspace and run your whole editorial operation \u2014 breaking\ncoverage, multi-site publishing, and post management \u2014 without living in\nwp-admin. It also ships a genuinely useful <strong>free<\/strong> breaking-news banner that\nworks with no account at all.<\/p>\n\n<h4>What you can do<\/h4>\n\n<ul>\n<li><strong>Breaking-news banner and live coverage like the major networks.<\/strong> Go live in\nPublishDesk and a site-wide breaking banner appears on your site \u2014 pulsing LIVE\nindicator, auto-updating \"last updated\" time, and a link to the full live\nstory. Optional CNN-style ticker. Works with no JavaScript (server-rendered).<\/li>\n<li><strong>Publish into the exact category on any of your sites.<\/strong> PublishDesk reads\neach site's real category tree (including sub-categories), tags, and menus\nthrough this connector, so a post lands in precisely the term you choose \u2014 on\nevery site, each with its own taxonomy.<\/li>\n<li><strong>Manage, move, and update posts without logging into wp-admin.<\/strong> Update\ncontent, move between categories, change status, or remove posts remotely \u2014 and\ndetect when someone edited a post directly in WordPress, with no silent\noverwrites.<\/li>\n<li><strong>One editorial workflow across all your WordPress sites.<\/strong> Plan, draft, review,\nand publish from a single workspace.<\/li>\n<li><strong>AI-assisted drafting under full editorial control.<\/strong> Your content is processed\nto provide features and is never used to train AI models.<\/li>\n<\/ul>\n\n<h4>Free, no account required<\/h4>\n\n<ul>\n<li><strong>Local breaking-news banner.<\/strong> Set a headline, link, color, and placement right\nhere in the plugin settings and show a breaking banner on your site \u2014 no\nPublishDesk account needed.<\/li>\n<\/ul>\n\n<h4>Free vs. the full command center<\/h4>\n\n<ul>\n<li><strong>Free (local mode):<\/strong> the local breaking-news banner, controlled from this\nplugin's settings.<\/li>\n<li><strong>With a free PublishDesk workspace:<\/strong> live multi-editor breaking coverage with\nreal-time updates, publish-from-anywhere into exact categories, remote post\nmanagement, drift detection, the full taxonomy\/menu sync, the Site Manager, and\nthe AI editorial workflow.<\/li>\n<\/ul>\n\n<p>PublishDesk is an external service. Connecting is optional; the free local\nfeatures above work without it. See the privacy policy at\nhttps:\/\/publishdesk.io\/legal\/privacy and terms at\nhttps:\/\/publishdesk.io\/legal\/terms.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin's free local feature (the breaking-news banner) runs entirely on your\nown site and makes no outbound calls.<\/p>\n\n<p>If you choose to connect a PublishDesk workspace, this plugin communicates with\nthe PublishDesk API, hosted at https:\/\/api.publishdesk.io (the address is\nfixed; there is no way to point it elsewhere from the plugin settings except an\nadvanced field for self-hosted\/development use).<\/p>\n\n<ul>\n<li><strong>What is sent:<\/strong> your site's URL, the WordPress Application Password you\ncreate for the connection, and the editorial content, categories, tags, and\npost metadata needed to publish or manage a post you have explicitly asked\nPublishDesk to handle. No data is sent unless and until you complete the\nconnection step in this plugin's settings.<\/li>\n<li><strong>When it is sent:<\/strong> when you actively use a connected feature \u2014 publish from\nPublishDesk, sync taxonomy, load live-coverage updates, or check the\nconnection's health \u2014 and, once a workspace is connected, on a periodic\nbackground schedule (about once a minute via WP-Cron) to pull and publish any\nposts you have queued in PublishDesk for this site. This outbound delivery lets\npublishing work even on hosts whose firewall blocks incoming requests. The\nplugin makes no calls to PublishDesk until you complete the connection step.<\/li>\n<li><strong>Why:<\/strong> PublishDesk is the paid editorial workspace this plugin connects to;\nthe service is the plugin's stated purpose (multi-site publishing, breaking\ncoverage, and remote post management), not incidental data collection.<\/li>\n<li><strong>Images:<\/strong> when PublishDesk delivers a post that has a featured image, this\nplugin downloads that image file from PublishDesk's media host,\nhttps:\/\/media.publishdesk.io, and stores it in your own WordPress media\nlibrary. This happens only while publishing a post you queued in PublishDesk,\nand only for a connected site.<\/li>\n<li><strong>Provider:<\/strong> PublishDesk (https:\/\/publishdesk.io).\nTerms of use: https:\/\/publishdesk.io\/legal\/terms\nPrivacy policy: https:\/\/publishdesk.io\/legal\/privacy<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>publishdesk-connector<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install\nthe zip via Plugins \u2192 Add New \u2192 Upload.<\/li>\n<li>Activate the plugin through the Plugins menu in WordPress.<\/li>\n<li>Open the new <strong>PublishDesk<\/strong> menu in wp-admin.<\/li>\n<li>(Optional) To connect a workspace, set the API base URL and paste your Site\nconnection key from PublishDesk \u2192 Settings \u2192 Sites \u2192 Breaking banner, then\nclick <strong>Test connection<\/strong>.<\/li>\n<li>(Free, no account) Configure the local breaking-news banner right on the\nsettings page.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20it%20free%3F\"><h3>Is it free?<\/h3><\/dt>\n<dd><p>Yes. The local breaking-news banner works with no account. The full editorial\ncommand center requires a free PublishDesk workspace.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20publishdesk%20account%3F\"><h3>Do I need a PublishDesk account?<\/h3><\/dt>\n<dd><p>No \u2014 for the free local features. To run live multi-editor coverage, publish into\nexact categories from one workspace, and manage posts remotely, connect a free\nPublishDesk workspace.<\/p><\/dd>\n<dt id=\"will%20it%20work%20with%20my%20theme%3F\"><h3>Will it work with my theme?<\/h3><\/dt>\n<dd><p>Yes. The banner renders in a hook the plugin owns (<code>wp_footer<\/code>), so it can't\nbreak your theme's structure.<\/p><\/dd>\n<dt id=\"is%20my%20data%20safe%3F\"><h3>Is my data safe?<\/h3><\/dt>\n<dd><p>Connections use an application password you control, and your content is never\nused to train AI models. See https:\/\/publishdesk.io\/legal\/privacy.<\/p><\/dd>\n<dt id=\"does%20it%20support%20my%20seo%20plugin%3F\"><h3>Does it support my SEO plugin?<\/h3><\/dt>\n<dd><p>PublishDesk detects Yoast and Rank Math and bridges their fields where available.<\/p><\/dd>\n<dt id=\"can%20i%20manage%20multiple%20sites%3F\"><h3>Can I manage multiple sites?<\/h3><\/dt>\n<dd><p>Yes \u2014 that's the point. One workspace targets each connected site's own\ncategories, tags, and menus.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.6.9<\/h4>\n\n<ul>\n<li>Fixed the wp-admin menu icon, which rendered oversized and overflowed its row\nin the admin sidebar. WordPress emits a raster menu icon as an unconstrained\n  , so the 40x40 PNG was drawn at full size inside a 36x34 slot and\ncollided with the menu items above and below it. The icon is now an inline\nmonochrome SVG data URI, which WordPress sizes to 20px and gives the same\nrest, hover and active treatment as its own Dashicons. Reported by the\nWordPress.org plugin review team on 25 August.<\/li>\n<li>Removed the now-unused <code>assets\/menu-icon.png<\/code>.<\/li>\n<\/ul>\n\n<h4>1.6.8<\/h4>\n\n<ul>\n<li>Security: the status-change endpoint now resolves the publish capability from\nthe post type's own capability object (<code>$post_type-&gt;cap-&gt;publish_posts<\/code>)\ninstead of relying on a meta-capability name, and reads the requested status\nfrom any request transport (JSON body, form body, or query string) so the\npublish check cannot be skipped by sending the status a different way. A\nmissing or unrecognised status is now rejected outright instead of falling\nthrough to the permissive branch, and the publish capability is re-asserted at\nthe point of write.<\/li>\n<li>Security: category and tag endpoints now check the taxonomy's own registered\ncapabilities \u2014 create uses the taxonomy's <code>edit_terms<\/code> capability, and\nupdate\/delete use WordPress core's per-term <code>edit_term<\/code> \/ <code>delete_term<\/code> meta\ncapabilities \u2014 instead of a single hard-coded <code>manage_categories<\/code> check.<\/li>\n<li>Security: the byline post-meta <code>auth_callback<\/code> now checks edit access to the\nspecific post rather than the site-wide <code>edit_posts<\/code> capability.<\/li>\n<li>Security: setting a featured image now verifies the supplied media id is an\nimage attachment and that the caller may use it.<\/li>\n<li>Security: the public live-state proxy bounds the channel key in the route\npattern, validates it, and caches upstream failures, so an unauthenticated\ncaller cannot force one outbound request per hit.<\/li>\n<li>Fixed a \"translation loading was triggered too early\" notice on sites running\nwith WP_DEBUG enabled: the delivery schedule is now registered on <code>init<\/code>.<\/li>\n<li>Sanitized and unslashed the user-agent string read by the reader-view counter.<\/li>\n<li>Reassigning posts when deleting a category now runs in bounded batches instead\nof loading every post in the category at once.<\/li>\n<li>Added <code>uninstall.php<\/code> so deleting the plugin removes its options, transients,\nand scheduled event (including on multisite).<\/li>\n<\/ul>\n\n<h4>1.6.7<\/h4>\n\n<ul>\n<li>Security: <code>DELETE \/posts\/{id}<\/code> now requires the post's actual delete\ncapability instead of edit access, and <code>POST \/posts\/{id}\/status<\/code> now\nrequires publish capability when the target status is publish or private\n(draft\/pending still only need edit access). Matches the 14 Aug review.<\/li>\n<li>Removed the unprefixed <code>[publishdesk_live]<\/code> shortcode alias; the shortcode\nis <code>[pdconnect_live]<\/code> only, so every registered name uses the plugin's\ndistinct prefix.<\/li>\n<\/ul>\n\n<h4>1.6.6<\/h4>\n\n<ul>\n<li>Fixed the \"Test connection\" button reporting a failure even when the site was\nconnected correctly. (The button's request used an outdated internal action\nname after the 1.6.4 renaming, so WordPress never routed it to the plugin.)<\/li>\n<\/ul>\n\n<h4>1.6.5<\/h4>\n\n<ul>\n<li>Internal: the plugin's registered script\/style handles now use the same longer,\ndistinct prefix as the rest of the plugin, so they cannot collide with another\nplugin's assets. No visible change.<\/li>\n<\/ul>\n\n<h4>1.6.4<\/h4>\n\n<ul>\n<li>Removed the local Google Analytics \/ AdSense \/ site-verification fields. Use a\ndedicated analytics plugin (e.g. Google Site Kit) for those. This keeps the\nconnector focused on publishing and the breaking-news banner. Your existing\nconnection and banner settings are preserved automatically on update.<\/li>\n<li>Internal: renamed the plugin's function\/class\/option prefixes to a longer,\nmore distinct prefix to avoid any chance of clashing with other plugins.<\/li>\n<li>Security: tightened the permission check on the single-post read endpoint so it\nrequires edit access to that specific post.<\/li>\n<\/ul>\n\n<h4>1.6.3<\/h4>\n\n<ul>\n<li>Reliability: posts now deliver within seconds on virtually any host. In addition\nto the background scheduler, the plugin now checks for pending posts off normal\nsite traffic (any front-end visit or admin page load), running the check AFTER\nthe visitor's page has loaded so it never slows anyone down. On sites where\nWordPress's built-in scheduler is disabled or blocked, this is what makes\npublishing feel instant.<\/li>\n<li>Reliability: each delivery now carries a durable one-time marker, so a retried\nor re-sent delivery can never create a duplicate post \u2014 it re-confirms the\nexisting one instead.<\/li>\n<li>A single check now publishes ALL waiting posts at once, instead of a few per run.<\/li>\n<\/ul>\n\n<h4>1.6.2<\/h4>\n\n<ul>\n<li>Reliability: pending posts are now also delivered when you open your\nWordPress admin, not only via the background scheduler. On hosts where\nWordPress's built-in cron is disabled or blocked (common on hardened\nLiteSpeed\/cPanel setups), posts could sit in \"publishing\" until the next\nscheduled run that never came. Now simply visiting wp-admin publishes anything\nwaiting (throttled to at most once a minute). No settings to change.<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>WordPress.org review compliance and packaging cleanup: build-time listing docs\nare no longer shipped inside the distributed zip; confirmed every integration\nslot renders from a fixed, hardcoded template with all values escaped, that no\nendpoint accepts arbitrary CSS\/JS\/PHP, and that all REST routes are gated to an\nappropriate capability. No functional change for existing sites.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Firewall-proof publishing: posts can now be delivered to your site over an\noutbound connection (your server fetches them from PublishDesk) instead of\nPublishDesk connecting in. This keeps publishing working even on hosts whose\nserver firewall blocks incoming API requests \u2014 a common cause of posts getting\nstuck. Delivery is automatic once the site is connected; a per-minute background\ntask and an on-demand nudge pull and publish any pending posts locally.<\/li>\n<li>Adds a \"Delivery token\" setting (filled in automatically on connect; can be\npasted by hand as a fallback) and reports delivery readiness to PublishDesk.<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Replaced the free-text header\/footer script feature with structured, whitelisted\nfields for Google Analytics (GA4), Google AdSense, and search\/social\nverification meta tags \u2014 you enter only the ID\/token the provider gives you,\nand the plugin generates the tag. Removes support for arbitrary\/custom\nmarkup or script in these slots.<\/li>\n<li>Security: the connect\/disconnect and capabilities endpoints (which read or\nwrite the site-wide PublishDesk connection) now require an Administrator\naccount (<code>manage_options<\/code>) instead of Editor-level access.<\/li>\n<li>Security: the public health-check endpoint no longer discloses the WordPress\nversion, API base, or connection state; it now returns only plugin presence\nand version.<\/li>\n<li>Security: reading navigation menus via the connector now requires the same\nmenu-management capability already required to edit them.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Maintenance and compatibility release: reliability improvements and\npackaging updates. Version updates are delivered through the WordPress.org\nplugin directory in the normal Updates screen.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>First-party reader-view counter (no Jetpack needed): singular post views are counted (bots and logged-in editors excluded) and exposed as pdc_views on the REST post object, powering the Views column in PublishDesk.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Security hardening: the connect\/disconnect endpoints now require Editor-or-above\n(<code>edit_others_posts<\/code>) instead of <code>edit_posts<\/code>, so Contributor\/Author accounts\ncan no longer modify the site-wide connection. Auto-provisioning is unaffected\n(PublishDesk connects with Admin\/Editor application passwords).<\/li>\n<li>Remote post update now accepts a <code>byline<\/code> field, so changing the author line\nfrom PublishDesk updates the live post in one push (an empty byline clears the\noverride and restores the native WordPress author).<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>One-click connection: PublishDesk now configures this plugin automatically over\nthe site's existing application-password link \u2014 no key to copy or paste. Open\nSites \u2192 your site \u2192 Connect in PublishDesk and the connection key, API base, and\nworkspace are provisioned for you.<\/li>\n<li>New authenticated endpoints (edit_posts): publishdesk\/v1\/connect,\npublishdesk\/v1\/disconnect, and publishdesk\/v1\/capabilities (environment probe +\nlive connection state). The connection self-heals if the key is ever rotated.<\/li>\n<li>Admin now shows the connected workspace by name.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Simpler setup: the site connection key is now the only field you need. The API\nbase URL is pre-filled to the PublishDesk host and moved under \"Advanced\".<\/li>\n<li>Self-healing connection: a blank or invalid API base URL now resets to the\nproduction host automatically instead of breaking live coverage\/the banner.<\/li>\n<li>Added a \"Get my site key\" link that opens PublishDesk Sites in one click.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Efficiency: the public live-state proxy and live-block render now share a short\n(5s) response cache, so many concurrent readers during breaking coverage\ncollapse into a single upstream poll instead of one call per reader.<\/li>\n<li>Robustness: all outbound PublishDesk calls go through one helper with a\nversioned User-Agent (PublishDesk-Connector\/x.y.z; site URL) for clearer\nupstream logs, an http\/https-only API base guard, and consistent timeouts.<\/li>\n<li>Health endpoint now reports connection state and WordPress version.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Site-wide breaking-news banner driven by PublishDesk Live Stories (SSE + poll +\nno-JS fallback, optional ticker, reader dismissal).<\/li>\n<li>Free local-mode breaking banner and local header\/footer script slots.<\/li>\n<li>Authenticated taxonomy, menu, and remote post-management endpoints.<\/li>\n<li>Branded admin experience: top-level PublishDesk menu, connection status, and\n\"Test connection\".<\/li>\n<li>WordPress.org packaging: readme, icons, banners, hardening.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: render PublishDesk live stories with real-time SSE updates and\na server-rendered no-JavaScript fallback.<\/li>\n<\/ul>","raw_excerpt":"Run breaking-news coverage, publish into exact categories, and manage posts across all your WordPress sites from one editorial command center.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/347812","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=347812"}],"author":[{"embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/publishdesk"}],"wp:attachment":[{"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=347812"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=347812"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=347812"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=347812"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=347812"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=347812"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}