{"id":15,"date":"2026-08-19T16:20:04","date_gmt":"2026-08-19T16:20:04","guid":{"rendered":"https:\/\/blockset.wp.philiprehberger.com\/?page_id=15"},"modified":"2026-08-19T16:20:10","modified_gmt":"2026-08-19T16:20:10","slug":"menu-section","status":"publish","type":"page","link":"https:\/\/blockset.wp.philiprehberger.com\/?page_id=15","title":{"rendered":"Menu section"},"content":{"rendered":"\n<main class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-606407ee wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--70);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--80);padding-left:var(--wp--preset--spacing--50)\">\n\n<p class=\"has-text-color has-small-font-size wp-block-paragraph\" style=\"color:var(--wp--preset--color--accent-dark);font-family:var(--wp--preset--font-family--mono);font-weight:700;letter-spacing:0.12em;text-transform:uppercase\">SFP-BLOCKS\/MENU-SECTION<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" style=\"font-family:var(--wp--preset--font-family--serif);font-weight:500;letter-spacing:-0.02em;margin-top:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--30)\">Menu section<\/h1>\n\n\n\n<p class=\"has-text-color has-large-font-size wp-block-paragraph\" style=\"color:var(--wp--preset--color--muted);line-height:1.55\">A menu section with name, description, price, and optional flag badges per item. CSS Grid + dotted-leader so it reads like a printed menu. Built for Tavern North&rsquo;s food and wine menus; works for any list of named items with prices.<\/p>\n\n\n<h2 class=\"wp-block-heading\" style=\"font-family:var(--wp--preset--font-family--serif);font-size:clamp(1.119rem, 1.119rem + ((1vw - 0.2rem) * 1.147), 1.75rem);font-weight:500;letter-spacing:-0.015em;margin-top:var(--wp--preset--spacing--70);margin-bottom:var(--wp--preset--spacing--40)\">Live<\/h2>\n\n<section class=\"sfp-menu-section wp-block-sfp-blocks-menu-section\">\n\t\t\t<header class=\"sfp-menu-section__header\">\n\t\t\t\t\t\t\t<h3 class=\"sfp-menu-section__title\">Small Plates<\/h3>\n\t\t\t\t\t\t\t\t<\/header>\n\t\n\t\t\t<ul class=\"sfp-menu-section__items\">\n\t\t\t\t\t\t\t<li class=\"sfp-menu-section__item\">\n\t\t\t\t\t<div class=\"sfp-menu-section__row\">\n\t\t\t\t\t\t<span class=\"sfp-menu-section__name\">Steak tartare<\/span>\n\t\t\t\t\t\t<span class=\"sfp-menu-section__leader\" aria-hidden=\"true\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"sfp-menu-section__price\">$18<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"sfp-menu-section__meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"sfp-menu-section__description-text\">cured yolk, sourdough<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t<li class=\"sfp-menu-section__item\">\n\t\t\t\t\t<div class=\"sfp-menu-section__row\">\n\t\t\t\t\t\t<span class=\"sfp-menu-section__name\">Beet salad<\/span>\n\t\t\t\t\t\t<span class=\"sfp-menu-section__leader\" aria-hidden=\"true\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"sfp-menu-section__price\">$14<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"sfp-menu-section__meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"sfp-menu-section__description-text\">whipped chevre, walnuts<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"sfp-menu-section__flags\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"sfp-menu-section__flag\">V<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"sfp-menu-section__flag\">GF<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t<li class=\"sfp-menu-section__item\">\n\t\t\t\t\t<div class=\"sfp-menu-section__row\">\n\t\t\t\t\t\t<span class=\"sfp-menu-section__name\">Mussels<\/span>\n\t\t\t\t\t\t<span class=\"sfp-menu-section__leader\" aria-hidden=\"true\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"sfp-menu-section__price\">$16<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"sfp-menu-section__meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"sfp-menu-section__description-text\">white wine, garlic, herbs<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t<li class=\"sfp-menu-section__item\">\n\t\t\t\t\t<div class=\"sfp-menu-section__row\">\n\t\t\t\t\t\t<span class=\"sfp-menu-section__name\">Duck rillette<\/span>\n\t\t\t\t\t\t<span class=\"sfp-menu-section__leader\" aria-hidden=\"true\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"sfp-menu-section__price\">$17<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"sfp-menu-section__meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"sfp-menu-section__description-text\">cornichons, country bread<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"sfp-menu-section__flags\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"sfp-menu-section__flag\">somm pick<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t<\/ul>\n\t<\/section>\n\n\n<h2 class=\"wp-block-heading\" style=\"font-family:var(--wp--preset--font-family--serif);font-size:clamp(1.119rem, 1.119rem + ((1vw - 0.2rem) * 1.147), 1.75rem);font-weight:500;letter-spacing:-0.015em;margin-top:var(--wp--preset--spacing--70);margin-bottom:var(--wp--preset--spacing--40)\">Attributes<\/h2>\n\n\n<figure class=\"wp-block-table is-style-stripes blockset-attrs has-text-color\" style=\"font-size:0.875rem\"><table><thead><tr><th>Attribute<\/th><th>Type<\/th><th>Default<\/th><th>Description<\/th><\/tr><\/thead><tbody>\n<tr><td><code>sectionTitle<\/code><\/td><td>string<\/td><td><code>\"Small Plates\"<\/code><\/td><td>The section heading<\/td><\/tr>\n<tr><td><code>sectionDescription<\/code><\/td><td>string<\/td><td><code>empty<\/code><\/td><td>Optional italic sub-line under the title<\/td><\/tr>\n<tr><td><code>currencySymbol<\/code><\/td><td>string<\/td><td><code>\"$\"<\/code><\/td><td>Prefixed to every price<\/td><\/tr>\n<tr><td><code>items<\/code><\/td><td>array<\/td><td><code>4 sample items<\/code><\/td><td>Each {name, description, price, flags: [V, GF, somm pick, &#8230;]}<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n<h2 class=\"wp-block-heading\" style=\"font-family:var(--wp--preset--font-family--serif);font-size:clamp(1.119rem, 1.119rem + ((1vw - 0.2rem) * 1.147), 1.75rem);font-weight:500;letter-spacing:-0.015em;margin-top:var(--wp--preset--spacing--70);margin-bottom:var(--wp--preset--spacing--40)\">Example markup<\/h2>\n\n<figure class=\"sfp-code-snippet sfp-code-snippet--html wp-block-sfp-blocks-code-snippet\">\n\t<header class=\"sfp-code-snippet__header\">\n\t\t<span class=\"sfp-code-snippet__lang\">html<\/span>\n\t\t\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"sfp-code-snippet__copy\"\n\t\t\t\tdata-sfp-copy-target=\"sfp-code-1\"\n\t\t\t\taria-label=\"Copy code to clipboard\"\n\t\t\t>\n\t\t\t\t<span class=\"sfp-code-snippet__copy-label\">Copy<\/span>\n\t\t\t<\/button>\n\t\t\t<\/header>\n\t<pre class=\"sfp-code-snippet__pre\"><code id=\"sfp-code-1\" class=\"sfp-code-snippet__code language-html\">&lt;!-- wp:sfp-blocks\/menu-section {&quot;sectionTitle&quot;:&quot;Small plates&quot;,&quot;items&quot;:[{&quot;name&quot;:&quot;Steak tartare&quot;,&quot;description&quot;:&quot;cured yolk, sourdough&quot;,&quot;price&quot;:&quot;18&quot;,&quot;flags&quot;:[]},{&quot;name&quot;:&quot;Beet salad&quot;,&quot;description&quot;:&quot;whipped chevre&quot;,&quot;price&quot;:&quot;14&quot;,&quot;flags&quot;:[&quot;V&quot;,&quot;GF&quot;]}]} \/--&gt;<\/code><\/pre>\n\t\t\t<figcaption class=\"sfp-code-snippet__caption\">Paste this in any block-editor view (or in a theme template) to drop the block in.<\/figcaption>\n\t<\/figure>\n\n\n<div class=\"wp-block-group has-white-background-color has-background has-border-color is-layout-flow wp-block-group-is-layout-flow\" style=\"border-color:var(--wp--preset--color--border);border-width:1px;border-radius:6px;margin-top:var(--wp--preset--spacing--60);padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)\">\n\n<p class=\"has-text-color has-small-font-size wp-block-paragraph\" style=\"color:var(--wp--preset--color--accent-dark);font-family:var(--wp--preset--font-family--mono);font-weight:700;letter-spacing:0.1em;text-transform:uppercase\">SOURCE<\/p>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/philiprehberger\/wp-portfolio-platform\/tree\/main\/plugins\/sfp-blocks\/src\/menu-section\">plugins\/sfp-blocks\/src\/menu-section\/ on GitHub \u2192<\/a><\/p>\n\n<\/div>\n\n<\/main>\n\n","protected":false},"excerpt":{"rendered":"<p>Name \/ description \/ price rows with dotted leaders + optional flag badges.<\/p>\n","protected":false},"author":0,"featured_media":0,"parent":7,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-15","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=\/wp\/v2\/pages\/15","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=15"}],"version-history":[{"count":1,"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=\/wp\/v2\/pages\/15\/revisions"}],"predecessor-version":[{"id":22,"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=\/wp\/v2\/pages\/15\/revisions\/22"}],"up":[{"embeddable":true,"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=\/wp\/v2\/pages\/7"}],"wp:attachment":[{"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}