{"id":341174,"date":"2026-09-22T08:20:49","date_gmt":"2026-09-22T08:20:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/broadside-blocks\/"},"modified":"2026-10-26T07:28:20","modified_gmt":"2026-10-26T07:28:20","slug":"broadside-blocks","status":"publish","type":"plugin","link":"https:\/\/hat.wordpress.org\/plugins\/broadside-blocks\/","author":23398323,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.5","stable_tag":"1.4.5","tested":"7.0.7","requires":"7.0","requires_php":"8.5","requires_plugins":null,"header_name":"Broadside Blocks","header_author":"Shadow Software LLC","header_description":"The editorial blocks and masthead furniture for the Broadside theme \u2014 a short-answer box, key takeaways, a self-building table of contents, an FAQ that emits FAQPage schema, a sources list, a disclosure table, and the nameplate, folio rule and bylines a broadsheet needs.","assets_banners_color":"393836","last_updated":"2026-10-26 07:28:20","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/shadow-software\/broadside-blocks-for-wordpress","header_author_uri":"https:\/\/shadowsoftware.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":197,"num_ratings":0,"support_threads":1,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.3":{"tag":"1.3.3","author":"shadowsoftware","date":"2026-09-22 08:20:17","revision":3706852},"1.4.4":{"tag":"1.4.4","author":"shadowsoftware","date":"2026-10-26 07:23:25","revision":3765720},"1.4.5":{"tag":"1.4.5","author":"shadowsoftware","date":"2026-10-26 07:28:20","revision":3765736}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3706852,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3706852,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3706852,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3706852,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.3","1.4.4","1.4.5"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[4121,8485,1643,1117,10851],"plugin_category":[55],"plugin_contributors":[269919],"plugin_business_model":[],"class_list":["post-341174","plugin","type-plugin","status-publish","hentry","plugin_tags-blocks","plugin_tags-editorial","plugin_tags-faq","plugin_tags-schema","plugin_tags-table-of-contents","plugin_category-seo-and-marketing","plugin_contributors-shadowsoftware","plugin_committers-shadowsoftware"],"banners":{"banner":"https:\/\/ps.w.org\/broadside-blocks\/assets\/banner-772x250.png?rev=3706852","banner_2x":"https:\/\/ps.w.org\/broadside-blocks\/assets\/banner-1544x500.png?rev=3706852","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/broadside-blocks\/assets\/icon-128x128.png?rev=3706852","icon_2x":"https:\/\/ps.w.org\/broadside-blocks\/assets\/icon-256x256.png?rev=3706852","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Broadside Blocks is the companion plugin to the <strong>Broadside<\/strong> theme. It provides the\nseventeen blocks that make a WordPress site read like a newspaper.<\/p>\n\n<p><strong>Why a plugin and not part of the theme?<\/strong> Because WordPress is right about this.\nThe Theme Directory forbids a theme from registering blocks, and the test behind that\nrule is a good one:<\/p>\n\n<blockquote>\n  <p>Themes handle presentation. Plugins handle content.\n  <strong>Anything you lose when you switch themes belongs in a plugin.<\/strong><\/p>\n<\/blockquote>\n\n<p>A Short Answer, an FAQ, a Sources list \u2014 that is <em>content<\/em>. It lives in your post. If\nit shipped inside a theme, changing theme would silently blank it and you would have\nno way to get it back. So it lives here, where it is safe.<\/p>\n\n<h4>The editorial blocks<\/h4>\n\n<ul>\n<li><strong>Short Answer<\/strong> \u2014 a direct, quotable answer at the top, for the reader in a hurry\nand the search engine that wants to cite you.<\/li>\n<li><strong>Key Takeaways<\/strong> \u2014 the three or four things a reader should leave with.<\/li>\n<li><strong>Table of Contents<\/strong> \u2014 builds itself from your headings. Rename a heading and the\ncontents follow; there is nothing to keep in sync by hand.<\/li>\n<li><strong>FAQ<\/strong> \u2014 questions and answers that also emit valid FAQPage structured data.<\/li>\n<li><strong>Sources &amp; References<\/strong> \u2014 the receipts.<\/li>\n<li><strong>Disclosure Table<\/strong> \u2014 a comparison table whose partner links are always marked\n  rel=\"sponsored nofollow\" and which always prints a disclosure line.<\/li>\n<\/ul>\n\n<h4>The masthead furniture<\/h4>\n\n<p>Nameplate, folio rule, utility bar, colophon, byline, author bio, editorial standards,\nthe newsletter panel, the section grid, related stories and the lead-story well.<\/p>\n\n<h4>It needs the Broadside theme<\/h4>\n\n<p>These blocks render the theme's Customizer settings and call its template tags. Under\nany other theme they render nothing at all \u2014 deliberately, and without a fatal error.\nInstall <a href=\"https:\/\/github.com\/shadow-software\/broadside-theme-for-wordpress\">Broadside<\/a>;\nWordPress 6.5+ will offer this plugin alongside it.<\/p>\n\n<h3>Copyright<\/h3>\n\n<p>Broadside Blocks, Copyright 2026 Shadow Software LLC.\nDistributed under the terms of the GNU GPL v2 or later.\nIt bundles no third-party code, no images, no icons and no JavaScript libraries.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the <strong>Broadside<\/strong> theme.<\/li>\n<li>WordPress will offer to install this plugin alongside it. Accept.<\/li>\n<li>The blocks appear in the editor under the <strong>Broadside \u2014 editorial<\/strong> category.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"i%20activated%20the%20plugin%20and%20nothing%20appears.\"><h3>I activated the plugin and nothing appears.<\/h3><\/dt>\n<dd><p>The blocks need the Broadside theme. Under any other theme they render nothing, on\npurpose, rather than fataling. An admin notice will tell you so.<\/p><\/dd>\n<dt id=\"the%20site%20editor%20says%20a%20broadside%20block%20is%20not%20supported.\"><h3>The site editor says a Broadside block is not supported.<\/h3><\/dt>\n<dd><p>The blocks render in PHP, and the editor has to be told about each one. Update to\nthe current release. A template that still shows the warning is running a build\nwhere the editor script was loaded once per block and never registered the\nmasthead blocks.<\/p><\/dd>\n<dt id=\"the%20table%20of%20contents%20is%20empty.\"><h3>The table of contents is empty.<\/h3><\/dt>\n<dd><p>It builds itself from the <code>h2<\/code> and <code>h3<\/code> headings in the post. A post with no headings\nhas no contents to list. Add a heading and it appears.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.5<\/h4>\n\n<ul>\n<li>The colophon prints the podcast directory link, the YouTube link, and the publisher's legal name again. 1.4.4 had dropped them while restoring the editor registration.<\/li>\n<\/ul>\n\n<h4>1.4.4<\/h4>\n\n<ul>\n<li>The site editor can open Broadside templates. Every block is registered in the editor, from one script, so byline, author bio, standards, related stories, the newsletter, and the rest no longer show as unsupported.<\/li>\n<li>The front page's lead-column promo block is registered again.<\/li>\n<li>The section grid can be limited to chosen categories, in order. Leave the list empty to keep ranking sections by readership. Queries respect the current Polylang language.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Prefix: all plugin functions, hooks, and usermeta use the <code>broadside_blocks_<\/code> prefix (WordPress.org uniqueness requirement). Theme helpers such as <code>shadow_digest_get()<\/code> are unchanged \u2014 they live in the Broadside theme.<\/li>\n<li>Filter <code>shadow_digest_emit_faq_schema<\/code> renamed to <code>broadside_blocks_emit_faq_schema<\/code>.<\/li>\n<li>Usermeta <code>shadow_digest_role<\/code> migrated to <code>broadside_blocks_role<\/code> (legacy key still read until saved).<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>FAQPage JSON-LD uses default wp_json_encode() flags so solidus is escaped (no script breakout).<\/li>\n<li>Plugin URI points at this plugin's public repository.<\/li>\n<li>Removed load_plugin_textdomain(); WordPress.org loads translations automatically.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Moved into its own repository, with its own CI and its own signed release zips.<\/li>\n<li>Version brought back into step with the Broadside theme, which it ships with.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Initial release, split out of the Broadside theme: WordPress.org does not permit a\ntheme to register blocks, and it is right not to.<\/li>\n<li>Fixed: the blocks were never in their own editor category. The theme registered one\nslug while all 17 block.json files asked for another, so every block quietly landed\nin the editor's default bucket.<\/li>\n<\/ul>","raw_excerpt":"The editorial blocks and masthead furniture for the Broadside newspaper theme \u2014 a short answer, key takeaways, a self-building contents, an FAQ that e \u2026","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/341174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=341174"}],"author":[{"embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/shadowsoftware"}],"wp:attachment":[{"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=341174"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=341174"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=341174"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=341174"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=341174"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=341174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}