{"id":276027,"date":"2026-01-25T21:46:29","date_gmt":"2026-01-25T21:46:29","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/opentype-stylist\/"},"modified":"2026-07-24T19:36:14","modified_gmt":"2026-07-24T19:36:14","slug":"typography-stylist","status":"publish","type":"plugin","link":"https:\/\/lt.wordpress.org\/plugins\/typography-stylist\/","author":23409562,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.1.2","stable_tag":"2.1.2","tested":"6.9.5","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Typography Stylist","header_author":"Matthew Cowan","header_description":"Add advanced OpenType features (ligatures, stylistic sets, swashes) to headlines with inline text selection and live preview.","assets_banners_color":"000000","last_updated":"2026-07-24 19:36:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/typography-stylist\/","header_author_uri":"https:\/\/mnc4.com","rating":0,"author_block_rating":0,"active_installs":10,"downloads":1107,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.3":{"tag":"1.1.3","author":"matthewneilcowan","date":"2026-01-25 21:45:54"},"1.1.4":{"tag":"1.1.4","author":"matthewneilcowan","date":"2026-01-26 20:08:05"},"1.1.5":{"tag":"1.1.5","author":"matthewneilcowan","date":"2026-01-29 13:38:17"},"1.1.6":{"tag":"1.1.6","author":"matthewneilcowan","date":"2026-02-05 14:52:05"},"1.1.7":{"tag":"1.1.7","author":"matthewneilcowan","date":"2026-02-08 18:23:34"},"1.1.8":{"tag":"1.1.8","author":"matthewneilcowan","date":"2026-02-08 18:41:29"},"1.1.9":{"tag":"1.1.9","author":"matthewneilcowan","date":"2026-02-11 16:20:32"},"1.2.0":{"tag":"1.2.0","author":"matthewneilcowan","date":"2026-02-23 14:54:44"},"1.2.1":{"tag":"1.2.1","author":"matthewneilcowan","date":"2026-02-23 14:55:35"},"1.2.2":{"tag":"1.2.2","author":"matthewneilcowan","date":"2026-05-29 20:12:09"},"2.0.0":{"tag":"2.0.0","author":"matthewneilcowan","date":"2026-06-22 15:51:12"},"2.0.1":{"tag":"2.0.1","author":"matthewneilcowan","date":"2026-06-22 21:39:03"},"2.1.1":{"tag":"2.1.1","author":"matthewneilcowan","date":"2026-07-23 17:10:10"},"2.1.2":{"tag":"2.1.2","author":"matthewneilcowan","date":"2026-07-24 19:36:14"}},"upgrade_notice":{"2.1.2":"<p>Newly added fonts now enable only the weights they actually ship, with a one-click auto-detect for existing fonts; also fixes Glyphs Panel browsing for variable fonts from font-only ZIPs.<\/p>","2.1.1":"<p>Re-release of the 2.1.0 feature set with corrected packaging \u2014 the 2.1.0 download never contained the new files. Update to get variable fonts, font-only ZIP uploads, and WordPress Font Library integration.<\/p>","2.1.0":"<p>Font kit uploads now accept ZIPs containing only font files (e.g. Google Fonts downloads) \u2014 the @font-face stylesheet is generated automatically from the fonts&#039; metadata. Adds WordPress Font Library integration (register uploaded fonts, adopt Library fonts in the editor), bundles the Variable Fonts extension into core, and adds a <code>typost_force_enqueue_font_ids<\/code> filter for theme-driven font loading. Also fixes Adobe\/custom\/Library fonts not rendering inside the iframed block editor canvas. Existing content and settings are preserved; if you ran the standalone Variable Fonts extension, deactivate it after updating.<\/p>","2.0.1":"<p>Fixes mixed-content blocking of locally-hosted fonts in the Glyphs Panel on HTTPS sites.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3620314,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3620314,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3620314,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3620314,"resolution":"772x250","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3621904,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"meta\":{\"title\":\"Typography Stylist\",\"description\":\"Try OpenType features, the Glyphs Panel, and variable font controls in the block editor.\",\"author\":\"matthewneilcowan\",\"categories\":[\"typography\",\"editor\"]},\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"phpExtensionBundles\":[\"kitchen-sink\"],\"features\":{\"networking\":true},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"typography-stylist\"},\"options\":{\"activate\":true}},{\"step\":\"runPHP\",\"code\":\"<?php require_once '\\\/wordpress\\\/wp-load.php'; $sources = array('style-script.ttf' => 'https:\\\/\\\/raw.githubusercontent.com\\\/google\\\/fonts\\\/main\\\/ofl\\\/stylescript\\\/StyleScript-Regular.ttf', 'eb-garamond.ttf' => 'https:\\\/\\\/raw.githubusercontent.com\\\/google\\\/fonts\\\/main\\\/ofl\\\/ebgaramond\\\/EBGaramond%5Bwght%5D.ttf', 'eb-garamond-italic.ttf' => 'https:\\\/\\\/raw.githubusercontent.com\\\/google\\\/fonts\\\/main\\\/ofl\\\/ebgaramond\\\/EBGaramond-Italic%5Bwght%5D.ttf', 'fraunces.ttf' => 'https:\\\/\\\/raw.githubusercontent.com\\\/google\\\/fonts\\\/main\\\/ofl\\\/fraunces\\\/Fraunces%5BSOFT%2CWONK%2Copsz%2Cwght%5D.ttf'); $zip_path = get_temp_dir() . 'typost-demo-fonts.zip'; $zip = new ZipArchive(); if (true === $zip->open($zip_path, ZipArchive::CREATE | ZipArchive::OVERWRITE)) { foreach ($sources as $fname => $url) { $resp = wp_remote_get($url, array('timeout' => 120)); if (!is_wp_error($resp) && 200 === (int) wp_remote_retrieve_response_code($resp)) { $zip->addFromString($fname, wp_remote_retrieve_body($resp)); } } $zip->close(); $typost = Typost::get_instance(); $entries = $typost->process_font_kit_zip(array('tmp_name' => $zip_path, 'name' => 'demo-fonts.zip', 'size' => filesize($zip_path), 'error' => 0, 'type' => 'application\\\/zip'), 'demo-fonts'); if (!is_wp_error($entries) && !empty($entries)) { $fonts = $typost->get_custom_fonts(); foreach ($entries as $entry) { $fonts[] = $entry; } update_option('typost_custom_fonts', $fonts); do_action('typost_font_uploaded', $entries); } }\"},{\"step\":\"runPHP\",\"code\":\"<?php require_once '\\\/wordpress\\\/wp-load.php'; update_user_meta(1, 'wp_persisted_preferences', array('core\\\/edit-post' => array('welcomeGuide' => false), 'core' => array('welcomeGuide' => false), '_modified' => gmdate('c'))); $style_id = 0; foreach ((array) get_option('typost_custom_fonts', array()) as $font) { if (isset($font['name'], $font['font_id']) && 'Style Script' === $font['name']) { $style_id = (int) $font['font_id']; break; } } $headline = 'Elegant Swashes &amp; Hidden Glyphs'; if ($style_id > 0) { $headline = '<span class=\\\"typost-styled\\\" data-features=\\\"swsh\\\" data-font-id=\\\"' . $style_id . '\\\" style=\\\"font-feature-settings: \\\\'swsh\\\\' 1; font-family: var(--font-' . $style_id . ')\\\">' . $headline . '<\\\/span>'; } wp_insert_post(array( 'import_id' => 1000, 'post_title' => 'Typography Stylist Demo', 'post_status' => 'publish', 'post_content' => '<!-- wp:heading {\\\"level\\\":2} --><h2 class=\\\"wp-block-heading\\\">' . $headline . '<\\\/h2><!-- \\\/wp:heading -->' . '<!-- wp:paragraph --><p>The headline above is set in Style Script with its swash feature already on. Select it and click the swashy \\\"T\\\" button in the toolbar to toggle swashes, stylistic sets, and ligatures with live preview - or hit the Glyphs button to browse every alternate the font contains.<\\\/p><!-- \\\/wp:paragraph -->' . '<!-- wp:paragraph --><p>Three open-source faces are pre-installed: Style Script (12 stylistic sets + swashes), EB Garamond (swash italic capitals, small caps, a weight axis), and Fraunces (custom SOFT and WONK variable axes - try the sliders). Visit Settings &rarr; Typography Stylist to explore the control panel.<\\\/p><!-- \\\/wp:paragraph -->', ));\"},{\"step\":\"setSiteOptions\",\"options\":{\"blogname\":\"Typography Stylist Demo\"}}],\"landingPage\":\"\\\/wp-admin\\\/post.php?post=1000&action=edit\"}"}},"all_blocks":{"typost\/block":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"typost\/block","title":"Typography Stylist","category":"text","icon":{"src":"<svg width='20' height='20' viewBox='0 0 1067 1067' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M22.621,323.219c0,116.595 86.232,204.042 200.398,204.042c81.374,0 134.814,-41.294 134.814,-100.806c0,-36.436 -26.72,-68.014 -66.799,-68.014c-71.658,0 -75.301,80.159 -122.668,80.159c-54.654,0 -87.447,-58.298 -87.447,-115.381c0,-78.945 52.225,-137.243 156.675,-137.243c78.945,0 162.748,29.149 250.194,59.512l0,647.348c0,92.305 -20.647,99.592 -117.81,105.665l0,30.363l355.859,0l0,-30.363c-97.163,-6.073 -117.81,-13.36 -117.81,-105.665l0,-609.697c65.585,20.647 133.599,36.436 206.471,36.436c144.53,0 229.547,-83.803 229.547,-184.609c0,-57.083 -32.792,-97.163 -80.159,-97.163c-40.08,0 -72.872,27.934 -72.872,69.229c0,49.796 42.509,65.585 42.509,100.806c0,36.436 -38.865,58.298 -106.879,58.298c-136.028,0 -329.139,-171.25 -534.396,-171.25c-173.679,0 -269.627,109.308 -269.627,228.333Z' fill='currentColor'\/><\/svg>"},"description":"Advanced OpenType typography with full accessibility support. Block panel settings apply to the entire block; use Quick Features Toggle for individual selections.","keywords":["typography","opentype","ligatures","heading","accessibility"],"textdomain":"typography-stylist","supports":{"html":false,"align":["wide","full"],"anchor":true,"color":{"text":true,"background":true,"link":false},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":false,"lineHeight":true},"__experimentalTextAlign":true},"attributes":{"content":{"type":"string","default":""},"tagName":{"type":"string","default":"h2"},"features":{"type":"array","default":[]},"fontFamily":{"type":"string","default":""},"fontId":{"type":"number","default":0},"fontSize":{"type":"string","default":"inherit"},"fontSizeMin":{"type":"number","default":16},"fontSizePreferred":{"type":"number","default":32},"fontSizeMax":{"type":"number","default":64},"fontWeight":{"type":"string","default":"400"},"letterSpacing":{"type":"number","default":0},"lineHeight":{"type":"number","default":0},"screenReaderClass":{"type":"string","default":"visually-hidden"},"textAlign":{"type":"string"},"styleClass":{"type":"string","default":""},"fontVariationSettings":{"type":"string","default":""},"layeredConfigId":{"type":"number","default":0},"animationConfigId":{"type":"number","default":0}},"editorScript":"file:.\/build\/index.js","editorStyle":"file:.\/editor.css","style":"file:.\/style.css","viewScript":"file:.\/view.js"}},"tagged_versions":["1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.1.8","1.1.9","1.2.0","1.2.1","1.2.2","2.0.0","2.0.1","2.1.1","2.1.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3621857,"resolution":"1","location":"assets","locale":"","width":1440,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3621857,"resolution":"2","location":"assets","locale":"","width":1440,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3621857,"resolution":"3","location":"assets","locale":"","width":1440,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3621857,"resolution":"4","location":"assets","locale":"","width":1440,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3621857,"resolution":"5","location":"assets","locale":"","width":1440,"height":900},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3621857,"resolution":"6","location":"assets","locale":"","width":1440,"height":900},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3621857,"resolution":"7","location":"assets","locale":"","width":1440,"height":900},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3621857,"resolution":"8","location":"assets","locale":"","width":1440,"height":900}},"screenshots":{"1":"The Glyphs Panel \u2014 browse a font's full character set, filtered here to a stylistic set's script alternates, and insert any glyph with a click","2":"Inline editor on a heading block \u2014 toggling Swashes (swsh) with live preview, applied instantly to the selected text","3":"Quick Feature Toggles inside the Typography Stylist block \u2014 per-selection controls, here setting a different variable-font weight for one word","4":"Typography Stylist block with sidebar controls \u2014 a variable font's Weight axis slider replaces the discrete weight dropdown","5":"Per-font variable axis configuration \u2014 axes detected from the font file, with ranges and WordPress Font Library registration","6":"Font Features preview in the admin \u2014 every OpenType feature previewed with your own text in the selected font","7":"The unified font list \u2014 uploaded kits, Adobe Fonts, and WordPress Font Library fonts with Variable and registration badges","8":"The block's Accessibility panel \u2014 the screen-reader class behind the dual-heading pattern that keeps styled text accessible"}},"plugin_section":[],"plugin_tags":[268380,38623,254644,5126,273021],"plugin_category":[43],"plugin_contributors":[252841],"plugin_business_model":[],"class_list":["post-276027","plugin","type-plugin","status-publish","hentry","plugin_tags-glyphs","plugin_tags-ligatures","plugin_tags-opentype","plugin_tags-typography","plugin_tags-variable-fonts","plugin_category-customization","plugin_contributors-matthewneilcowan","plugin_committers-matthewneilcowan"],"banners":{"banner":"https:\/\/ps.w.org\/typography-stylist\/assets\/banner-772x250.png?rev=3620314","banner_2x":"https:\/\/ps.w.org\/typography-stylist\/assets\/banner-1544x500.png?rev=3620314","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/typography-stylist\/assets\/icon-128x128.png?rev=3620314","icon_2x":"https:\/\/ps.w.org\/typography-stylist\/assets\/icon-256x256.png?rev=3620314","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/typography-stylist\/assets\/screenshot-1.png?rev=3621857","caption":"The Glyphs Panel \u2014 browse a font's full character set, filtered here to a stylistic set's script alternates, and insert any glyph with a click"},{"src":"https:\/\/ps.w.org\/typography-stylist\/assets\/screenshot-2.png?rev=3621857","caption":"Inline editor on a heading block \u2014 toggling Swashes (swsh) with live preview, applied instantly to the selected text"},{"src":"https:\/\/ps.w.org\/typography-stylist\/assets\/screenshot-3.png?rev=3621857","caption":"Quick Feature Toggles inside the Typography Stylist block \u2014 per-selection controls, here setting a different variable-font weight for one word"},{"src":"https:\/\/ps.w.org\/typography-stylist\/assets\/screenshot-4.png?rev=3621857","caption":"Typography Stylist block with sidebar controls \u2014 a variable font's Weight axis slider replaces the discrete weight dropdown"},{"src":"https:\/\/ps.w.org\/typography-stylist\/assets\/screenshot-5.png?rev=3621857","caption":"Per-font variable axis configuration \u2014 axes detected from the font file, with ranges and WordPress Font Library registration"},{"src":"https:\/\/ps.w.org\/typography-stylist\/assets\/screenshot-6.png?rev=3621857","caption":"Font Features preview in the admin \u2014 every OpenType feature previewed with your own text in the selected font"},{"src":"https:\/\/ps.w.org\/typography-stylist\/assets\/screenshot-7.png?rev=3621857","caption":"The unified font list \u2014 uploaded kits, Adobe Fonts, and WordPress Font Library fonts with Variable and registration badges"},{"src":"https:\/\/ps.w.org\/typography-stylist\/assets\/screenshot-8.png?rev=3621857","caption":"The block's Accessibility panel \u2014 the screen-reader class behind the dual-heading pattern that keeps styled text accessible"}],"raw_content":"<!--section=description-->\n<p>Some of your fonts' best work is hidden. Swashes, stylistic sets, discretionary ligatures, alternate characters: features a type designer spent months drawing are locked away where WordPress never shows them. Typography Stylist opens the full type cabinet, right inside the block editor, without giving up accessibility or SEO.<\/p>\n\n<p>Typography Stylist is not just a font-loading plugin (although it does that too). it sits a layer above. Font managers and the WordPress Font Library get font files onto your site; Typography Stylist is about what you do with them once they are there: browsing every glyph a face contains, turning on the OpenType features that make it sing, tuning variable font axes, and doing it all with live preview on your actual content.<\/p>\n\n<h4>The Glyphs Panel<\/h4>\n\n<p>An Illustrator-style glyph browser, built in. Explore every character and OpenType feature a font contains; search by character, codepoint, or glyph name; filter by stylistic set, OpenType feature, or Unicode block; and insert any glyph,including feature alternates, directly into your content with a click. The grid is fully keyboard-navigable and screen-reader announced, and fonts are parsed in your browser for metadata only, so font EULAs stay respected: no outlines are extracted, nothing font-derived is stored on your server.<\/p>\n\n<h4>Variable Fonts<\/h4>\n\n<p>Full control over variable font axes (v2.1+):<\/p>\n\n<ul>\n<li><strong>Automatic axis detection<\/strong> \u2014 upload a variable font and its axes (tag, name, min\/max\/default ranges) are read straight from the font file. A \"Detect Axes from Font File\" button re-reads them any time, right in your browser, and works for uploaded kits, Adobe Fonts, and custom font definitions.<\/li>\n<li><strong>Named and custom axes<\/strong> \u2014 Weight (wght), Width (wdth), Slant (slnt), Optical Size (opsz), and Italic (ital) are recognized by name, and any custom axis a font defines gets its own control.<\/li>\n<li><strong>Axis sliders in the editor<\/strong> \u2014 smooth per-axis sliders in both the inline editor and the Typography Stylist block output clean <code>font-variation-settings<\/code> CSS. When a font has a weight axis, the slider replaces the discrete weight dropdown, so you pick 435, not \"400 or 700.\"<\/li>\n<li><strong>Per-font configuration<\/strong> \u2014 review and adjust each font's axes and ranges from the Custom Fonts tab; variable fonts are badged in the font list with their axes.<\/li>\n<\/ul>\n\n<h4>Font management &amp; WordPress Font Library<\/h4>\n\n<p>Manage every font source from one screen: upload webfont kits (MyFonts, Font Squirrel, or bare font-file ZIPs \u2014 the stylesheet is generated for you), connect Adobe Fonts projects, define fonts your theme or CDN already loads, and use WordPress Font Library fonts directly from the editor's font picker. Uploaded fonts can be registered into the WordPress Font Library (WP 6.5+) with one click \u2014 reversibly, and without ever breaking existing content. Fonts load intelligently, only on pages that use them.<\/p>\n\n<h4>Expressive type that stays accessible<\/h4>\n\n<p>Complex inline typography usually comes at a cost: the span elements needed to style individual characters can make screen readers read words in fragments or skip them entirely. Typography Stylist is built around not paying that cost. The custom Typography Stylist block uses a dual-heading pattern \u2014 a clean semantic heading for assistive technology, a styled version for visual display \u2014 so the document outline and screen-reader experience stay intact no matter how elaborate the visual type gets. When you style partial words in standard heading blocks, the plugin detects the risk and offers a one-click conversion to the accessible block (the warning adapts when conversion isn't possible, and can be disabled in Settings \u2192 Typography Stylist \u2192 Accessibility).<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Glyphs Panel<\/strong>: Browse a font's complete character set Illustrator-style \u2014 search, filter by feature or stylistic set, and insert any glyph or alternate straight into your content.<\/li>\n<li><strong>Variable Font Axis Controls<\/strong>: Automatic axis detection plus per-axis sliders in the editor, producing clean font-variation-settings CSS.<\/li>\n<li><strong>WordPress Font Library Integration<\/strong> (WP 6.5+): Register uploaded fonts into the Font Library with one click, and use Library fonts from the editor's font picker.<\/li>\n<li><strong>Custom Typography Stylist Block<\/strong>: Create complex typography with maximum accessibility using the dedicated block. Screen readers can \"stumble\" over complex inline formatting required to display specific ligatures and alternates. This block preserves the document outline while providing styled text for visual users.<\/li>\n<li><strong>Inline Text Selection<\/strong>: Highlight any text within richtext blocks like headings, and apply typography features instantly with live preview. If your selection breaks a word boundary, a non-blocking notice explains the accessibility impact and offers a one-click conversion to the Custom Typography Stylist Block. The notice can be disabled in Settings \u2192 Accessibility.<\/li>\n<li><strong>Live Preview<\/strong>: Preview changes in real-time before applying.<\/li>\n<li><strong>Rich Feature Support<\/strong>: Ligatures (liga, dlig, calt), Stylistic Sets (ss01-ss20), Swashes, Alternates, and more.<\/li>\n<li><strong>Visual Interface<\/strong>: User-friendly, resizable, moveable popover with organized feature categories.<\/li>\n<li><strong>Advanced Typography Controls<\/strong>: Adjust letter spacing, font weight, responsive font sizes, and more.<\/li>\n<li><strong>Block Editor Native<\/strong>: Seamlessly integrates with Gutenberg.<\/li>\n<li><strong>Custom Fonts Management<\/strong>: Upload webfont kits from MyFonts, Font Squirrel, or other providers, connect Adobe Fonts, or define custom fonts loaded through themes or CDNs. Fonts are loaded intelligently only on the pages you need them for optimum performance.<\/li>\n<li><strong>Font Fallbacks<\/strong>: Facing a rebranding and needing to change fonts? No worries. Delete a font previously defined, and use the fallback system to seamlessly replace them.<\/li>\n<li><strong>Font Preview<\/strong>: Test OpenType features with any uploaded font in the settings &gt; admin page to find exactly the styles you need.<\/li>\n<li><strong>ARIA Label Support<\/strong>: Optional aria-label attributes for screen reader compatibility for rich text blocks with inline formatting<\/li>\n<li><strong>Automatic Archive Detection<\/strong>: Custom fonts load automatically on blog archives, category pages, and tag pages without requiring manual configuration<\/li>\n<\/ul>\n\n<h4>Supported OpenType Features<\/h4>\n\n<p><strong>Ligatures:<\/strong>\n* Standard Ligatures (liga)\n* Discretionary Ligatures (dlig)\n* Contextual Alternates (calt)\n* Contextual Ligatures (clig)\n* Historical Ligatures (hlig)<\/p>\n\n<p><strong>Stylistic Sets:<\/strong>\n* ss01 through ss20<\/p>\n\n<p><strong>Swashes &amp; Alternates:<\/strong>\n* Swashes (swsh)\n* Contextual Swashes (cswh)\n* Stylistic Alternates (salt)\n* Titling (titl)\n* Historical Forms (hist)<\/p>\n\n<p><strong>Decorative:<\/strong>\n* Ornaments (ornm)<\/p>\n\n<p><strong>Numerals &amp; Figures:<\/strong>\n* Proportional Figures (pnum)\n* Tabular Figures (tnum)\n* Lining Figures (lnum)\n* Oldstyle Figures (onum)\n* Fractions (frac)\n* Slashed Zero (zero)<\/p>\n\n<p><strong>Capitals &amp; Case:<\/strong>\n* Small Capitals (smcp)\n* Capitals to Small Caps (c2sc)\n* Petite Capitals (pcap)\n* Case-Sensitive Forms (case)<\/p>\n\n<p><strong>Positional Forms:<\/strong>\n* Initial Forms (init)\n* Medial Forms (medi)\n* Terminal Forms (fina)\n* Isolated Forms (isol)<\/p>\n\n<p><strong>Superscript &amp; Ordinals:<\/strong>\n* Superscript (sups)\n* Subscript (subs)\n* Ordinals (ordn)<\/p>\n\n<p><strong>Other Features:<\/strong>\n* Kerning (kern)\n* Localized Forms (locl)\n* Randomize (rand)<\/p>\n\n<h4>Perfect For<\/h4>\n\n<ul>\n<li>Wedding invitations and event designs<\/li>\n<li>Luxury brand websites<\/li>\n<li>Editorial and magazine layouts<\/li>\n<li>Elegant script fonts<\/li>\n<li>Display typography<\/li>\n<li>Premium web fonts<\/li>\n<\/ul>\n\n<h4>Recommended Fonts<\/h4>\n\n<p>This plugin requires fonts that support OpenType features. Many premium script fonts and professional typefaces include these features.<\/p>\n\n<p>Examples:\n* Script fonts by Alejandro Paul like Inglesa, Gratitude Script (with the wonderful Kathy Milici)\n* Bookmania by Mark Simonson\n* Orpheus, designed by Kevin King, Patrick Griffin, and Walter Tiemann, from Canada Type\n* Elaina and other fonts by Laura Worthington\n* Liza from Underware\n* Memoriam by Patrick Griffin\n* ITC Avant Garde designed by Andr\u00e9 G\u00fcrtler, Christian Mengelt, Ed Benguiat, Erich Gschwind, Herb Lubalin, and others. From Monotype\n* Many other typefaces<\/p>\n\n<p>Check the font's documentation or specimen to verify which OpenType features are supported. Not all fonts have alternates or other advanced features.<\/p>\n\n<h4>How It Works For Headings<\/h4>\n\n<ol>\n<li>Create or edit a heading block (H1-H6)<\/li>\n<li>Type your headline text<\/li>\n<li>Select the text you want to style<\/li>\n<li>Click the \"Typography Stylist\" button in the toolbar (a swashy \"T\" icon)<\/li>\n<li>Toggle features and adjust controls \u2014 changes apply instantly to your selected text, with live preview (press Ctrl+Z to undo)<\/li>\n<li>If your selection breaks a word boundary, a non-blocking notice appears with a one-click option to convert to the Typography Stylist Block for maximum accessibility (the conversion option is hidden when the block can't be converted, e.g. inside a locked pattern). The notice can be disabled in Settings \u2192 Typography Stylist \u2192 Accessibility.<\/li>\n<\/ol>\n\n<h4>How It Works For Custom Blocks<\/h4>\n\n<ol>\n<li>Create or edit a Typography Stylist block<\/li>\n<li>Type your text<\/li>\n<li>Apply any global block settings in the sidebar<\/li>\n<li>Select any text you want to style<\/li>\n<li>Click the \"Typography Stylist\" button in the toolbar (a swashy \"T\" icon)<\/li>\n<li>Select individual features and see the live preview<\/li>\n<\/ol>\n\n<h4>Bundled Third-Party Libraries<\/h4>\n\n<p>The Glyphs Panel reads font files in the browser using two open-source libraries, bundled unmodified in <code>glyphs-panel\/assets\/js\/vendor\/<\/code>. They are loaded on demand (only when you open the Glyphs Panel) and run entirely client-side; no font data is sent to any server.<\/p>\n\n<ul>\n<li><strong>opentype.js<\/strong> v1.3.4 \u2014 parses TTF\/OTF\/WOFF font files. MIT License. Source: https:\/\/github.com\/opentypejs\/opentype.js<\/li>\n<li><strong>wawoff2<\/strong> \u2014 decompresses WOFF2 font files (Emscripten\/WebAssembly build of Google's woff2). MIT License. Source: https:\/\/github.com\/fontello\/wawoff2<\/li>\n<\/ul>\n\n<p>See BUILD.txt for build and source details.<\/p>\n\n<h4>Source, Docs &amp; Support<\/h4>\n\n<ul>\n<li><strong>Source code &amp; issue tracker:<\/strong> <a href=\"https:\/\/github.com\/mattcowan\/typography-stylist-for-wordpress\">github.com\/mattcowan\/typography-stylist-for-wordpress<\/a><\/li>\n<li><strong>Developer documentation:<\/strong> the full extension\/hooks reference (<a href=\"https:\/\/github.com\/mattcowan\/typography-stylist-for-wordpress\/blob\/main\/HOOKS.md\">HOOKS.md<\/a>) lives on GitHub<\/li>\n<li><strong>Beta builds:<\/strong> pre-release versions are published on the GitHub Releases page before they reach WordPress.org<\/li>\n<li><strong>Support:<\/strong> the <a href=\"https:\/\/wordpress.org\/support\/plugin\/typography-stylist\/\">WordPress.org support forum<\/a>, or GitHub issues for bugs<\/li>\n<\/ul>\n\n<p>Enjoying the plugin? <a href=\"https:\/\/wordpress.org\/support\/plugin\/typography-stylist\/reviews\/#new-post\">A short review<\/a> helps other type lovers find it.<\/p>\n\n<h3>Technical Details<\/h3>\n\n<h4>Data Storage<\/h4>\n\n<p>Typography features are stored as inline styles and data attributes within post content. No additional database tables are created.<\/p>\n\n<h4>Extensibility<\/h4>\n\n<p>Developers can extend the plugin using WordPress hooks and filters \u2014 see <a href=\"https:\/\/github.com\/mattcowan\/typography-stylist-for-wordpress\/blob\/main\/HOOKS.md\">HOOKS.md on GitHub<\/a> for the full reference with examples. REST API endpoints are available at <code>\/wp-json\/typost\/v1\/<\/code>.<\/p>\n\n<h4>Source Code<\/h4>\n\n<p>This plugin includes both compiled\/minified files and their source code to meet WordPress security and transparency requirements.<\/p>\n\n<p><strong>Minified\/Compiled Files:<\/strong>\n* assets\/js\/<em>.min.js files have corresponding source files in assets\/js\/\n* assets\/css\/<\/em>.min.css files have corresponding source files in assets\/css\/\n* blocks\/typography-stylist\/build\/ files are compiled from blocks\/typography-stylist\/ source files<\/p>\n\n<h3>Credits<\/h3>\n\n<p>Developed by Matthew Cowan.<\/p>\n\n<p>Special thanks to my wife for her support and inspiration, and to my dog, Sugar, for taking long walks with me between adding features.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/typography-stylist<\/code>, or install through the WordPress plugins screen<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress<\/li>\n<li>Go to Settings \u2192 Typography Stylist to view available features and presets<\/li>\n<li>Start using the typography features in the block editor!<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20special%20fonts%3F\"><h3>Do I need special fonts?<\/h3><\/dt>\n<dd><p>For features like stylistic sets, this plugin requires fonts that support OpenType features. Most premium script fonts and many professional typefaces include these features. Free fonts may have limited support. Letter-spacing, line-height, and other non-opentype features will work with any font.<\/p><\/dd>\n<dt id=\"will%20this%20work%20with%20any%20font%3F\"><h3>Will this work with any font?<\/h3><\/dt>\n<dd><p>The plugin will work with any font, but you'll only see results for stylistic sets or ligatures if the font includes the OpenType features you're trying to use. Check your font's documentation for supported features.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20google%20fonts%3F\"><h3>Does this work with Google Fonts?<\/h3><\/dt>\n<dd><p>Some Google Fonts support OpenType features. Check the individual font's specimen page for feature support.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20with%20custom%20web%20fonts%3F\"><h3>Can I use this with custom web fonts?<\/h3><\/dt>\n<dd><p>Absolutely! There are three ways to make fonts available in the plugin:<\/p>\n\n<ol>\n<li><strong>Upload webfont kits<\/strong> from MyFonts, Font Squirrel, or other providers using the plugin's Custom Fonts tab<\/li>\n<li><strong>Connect Adobe Fonts<\/strong> (Typekit) by pasting your project's embed code<\/li>\n<li><strong>Define custom fonts<\/strong> loaded through your theme, plugins, or CDN (like Google Fonts) so they appear in the editor's font dropdown<\/li>\n<\/ol>\n\n<p>Beyond these, the plugin can apply OpenType features to any font already loaded on your site (for example via @font-face in your theme) even without selecting it from the plugin's dropdown. Previews in the admin settings page only work for fonts uploaded or connected through the plugin.<\/p><\/dd>\n<dt id=\"how%20do%20i%20upload%20custom%20fonts%3F\"><h3>How do I upload custom fonts?<\/h3><\/dt>\n<dd><ol>\n<li>Go to Settings \u2192 Typography Stylist \u2192 Custom Fonts tab<\/li>\n<li>Click \"Choose ZIP File\" and select your webfont kit ZIP<\/li>\n<li>Click \"Upload Font Kit\" \u2014 font names are read from the kit itself<\/li>\n<\/ol>\n\n<p>The plugin will extract the fonts and make them available in the editor and preview selector. This has been tested with kits from MyFonts and Font Squirrel, and with bare-font downloads from Google Fonts.<\/p>\n\n<p>A stylesheet inside the ZIP is not required: if the kit contains only font files, the plugin reads each font's built-in metadata and generates the @font-face CSS automatically \u2014 including the weight range of variable fonts. For WOFF2-only ZIPs the family and weight are detected from the filenames (WOFF2 metadata cannot be read on the server), and a warning asks you to review the result.<\/p>\n\n<p>The available font weights are detected automatically when a font is added (v2.1.2+): only the weights the font actually ships are pre-checked in its \"Available Font Weights\" settings, so the editor's weight dropdown offers real options from the start. You can adjust the checkboxes at any time.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20adobe%20fonts%3F\"><h3>How do I add Adobe Fonts?<\/h3><\/dt>\n<dd><ol>\n<li>Go to Settings \u2192 Typography Stylist \u2192 Custom Fonts tab<\/li>\n<li>Scroll to \"Adobe Fonts (Typekit)\" section<\/li>\n<li>Enter a project name<\/li>\n<li>Paste your Adobe Fonts embed code (the  tag)<\/li>\n<li>Optionally enter font family names for the preview selector<\/li>\n<li>Click \"Add Adobe Fonts Project\"<\/li>\n<\/ol>\n\n<p>Make sure your domain is authorized in your Adobe Fonts project settings, if applicable. The fonts will load directly from Adobe's servers.<\/p><\/dd>\n<dt id=\"how%20do%20i%20define%20custom%20fonts%20from%20my%20theme%3F\"><h3>How do I define custom fonts from my theme?<\/h3><\/dt>\n<dd><p>If you have fonts already loaded through your theme, another plugin, or a CDN:<\/p>\n\n<ol>\n<li>Go to Settings \u2192 Typography Stylist \u2192 Custom Fonts tab<\/li>\n<li>Scroll to \"Custom Font Definitions\" section<\/li>\n<li>Enter a display name for the font<\/li>\n<li>Enter the exact CSS font-family value (e.g., 'Playfair Display', serif)<\/li>\n<li>Optionally add fallback fonts separated by commas<\/li>\n<li>Click \"Add Custom Font\"<\/li>\n<\/ol>\n\n<p>The font will be available in the block editor font selector, although features will not be available for preview on the admin settings page.<\/p><\/dd>\n<dt id=\"can%20i%20set%20fallback%20fonts%3F\"><h3>Can I set fallback fonts?<\/h3><\/dt>\n<dd><p>Yes! For any font source (uploaded, Adobe Fonts, or custom definitions), you can specify fallback fonts. These will be used if the primary font fails to load. Fallbacks are automatically included in the CSS font-family declaration.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20accessible%3F\"><h3>Is this plugin accessible?<\/h3><\/dt>\n<dd><p>The plugin includes accessibility features for screen reader compatibility:<\/p>\n\n<ul>\n<li><strong>Inline Format Notices<\/strong>: For rich text blocks like headings, the plugin detects when you select partial words (which can fragment text for screen readers) and shows a non-blocking notice with a one-click option to convert to an accessible Typography Stylist block. When the block cannot be converted (e.g., inside a locked pattern), the conversion option is hidden automatically. The notice can be disabled entirely via the \"Disable Word Boundary Warning\" option in Settings \u2192 Typography Stylist \u2192 Accessibility.<\/li>\n<li><strong>Typography Stylist Block<\/strong>: Custom block designed for complex typography that includes markup with screen reader-accessible text<\/li>\n<li><strong>ARIA Label Support<\/strong>: Optional setting to add aria-label attributes to inline formatted text (Settings \u2192 Typography Stylist \u2192 Accessibility)<\/li>\n<li><strong>Screen Reader Classes<\/strong>: the Typography Stylist block uses configurable classes (visually-hidden, sr-only, or custom) to hide styled text from screen readers while providing clean text as an alternative<\/li>\n<li><strong>Dual Content Approach<\/strong>: The block provides duplicate content - one version styled for visual users, one clean version for assistive technology<\/li>\n<\/ul><\/dd>\n<dt id=\"how%20do%20the%20accessibility%20features%20for%20the%20block%20work%3F\"><h3>How do the accessibility features for the block work?<\/h3><\/dt>\n<dd><p>The Typography Stylist block creates two versions of your text:<\/p>\n\n<ol>\n<li><strong>For screen readers<\/strong>: Clean, unformatted text in a semantic heading element (H1-H6) with the <code>visually-hidden<\/code> class applied. This maintains the document outline and heading navigation for assistive technology users.<\/li>\n<li><strong>For visual display<\/strong>: Styled text with <code>aria-hidden=\"true\"<\/code> to prevent screen readers from reading fragmented content with complex OpenType features.<\/li>\n<\/ol>\n\n<p>This approach provides both styled visual presentation and screen reader compatibility while preserving semantic document structure.<\/p><\/dd>\n<dt id=\"will%20the%20alternate%20text%20presented%20to%20screen%20readers%20cause%20duplicate%20content%20issues%20for%20seo%3F\"><h3>Will the alternate text presented to screen readers cause duplicate content issues for SEO?<\/h3><\/dt>\n<dd><p>Google explicitly recognizes hidden text for accessibility as legitimate (not cloaking\/spam). The content is identical in both headings, signaling genuine accessibility use. This dual-heading pattern is a well-known accessibility technique.<\/p><\/dd>\n<dt id=\"should%20i%20use%20the%20inline%20format%20or%20the%20block%3F\"><h3>Should I use the inline format or the block?<\/h3><\/dt>\n<dd><ul>\n<li><strong>Use Inline Format<\/strong> when applying features to complete words or phrases in existing heading blocks<\/li>\n<li><strong>Use Typography Stylist Block<\/strong> when you need letter-by-letter styling, complex typography, or maximum accessibility control<\/li>\n<\/ul>\n\n<p>If an inline selection might cause accessibility issues, a non-blocking notice suggests converting to the block \u2014 your changes still apply either way. The notice can be disabled entirely in Settings \u2192 Accessibility.<\/p><\/dd>\n<dt id=\"what%20file%20formats%20are%20supported%20for%20font%20uploads%3F\"><h3>What file formats are supported for font uploads?<\/h3><\/dt>\n<dd><p>The plugin accepts ZIP files containing:\n- CSS files with @font-face declarations (recommended, used as-is)\n- Font files: WOFF, WOFF2, TTF, OTF, EOT<\/p>\n\n<p>A CSS file is optional \u2014 ZIPs with only font files work too; the stylesheet is generated from the fonts' metadata.<\/p><\/dd>\n<dt id=\"is%20font%20upload%20secure%3F\"><h3>Is font upload secure?<\/h3><\/dt>\n<dd><p>Yes! The plugin implements multiple security measures:\n- File type validation\n- ZIP extraction security\n- Path traversal protection\n- CSS sanitization\n- 10MB size limit for uploads\n- Secure storage with .htaccess protection<\/p><\/dd>\n<dt id=\"is%20this%20compatible%20with%20page%20builders%3F\"><h3>Is this compatible with page builders?<\/h3><\/dt>\n<dd><p>This plugin is designed for the WordPress block editor (Gutenberg). Compatibility with page builders depends on their implementation of rich text formatting.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20site%3F\"><h3>Will this slow down my site?<\/h3><\/dt>\n<dd><p>The plugin uses CSS font-feature-settings which is hardware-accelerated in modern browsers. Performance impact depends on font file sizes and loading strategy. The plugin includes JavaScript in the block editor but uses only CSS for frontend rendering.<\/p><\/dd>\n<dt id=\"how%20do%20i%20know%20which%20features%20my%20font%20supports%3F\"><h3>How do I know which features my font supports?<\/h3><\/dt>\n<dd><p>Check your font's documentation, or use the plugin to experiment. Features that aren't supported simply won't affect the text. The Glyphs Panel shows exactly which OpenType features a font contains \u2014 and every glyph behind them.<\/p><\/dd>\n<dt id=\"do%20variable%20fonts%20work%3F\"><h3>Do variable fonts work?<\/h3><\/dt>\n<dd><p>Yes. When you upload a variable font, its axes (weight, width, slant, optical size, or any custom axis) are detected automatically from the font file. Each axis gets a slider in the editor \u2014 in both the inline editor and the Typography Stylist block \u2014 and the output is standard <code>font-variation-settings<\/code> CSS. Axis detection reads TTF\/OTF files at upload time; for WOFF2-only kits, use the \"Detect Axes from Font File\" button in the font's settings (which handles WOFF2 in the browser) or define axes manually.<\/p><\/dd>\n<dt id=\"what%20does%20registering%20a%20font%20in%20the%20wordpress%20font%20library%20do%3F\"><h3>What does registering a font in the WordPress Font Library do?<\/h3><\/dt>\n<dd><p>On WordPress 6.5+, uploaded font kits can be registered into the WordPress Font Library (Appearance \u2192 Editor), individually or in bulk, from the Custom Fonts tab. Registered fonts become available to the site editor like any Library font, WordPress serves their files (no double-loading), and the plugin's font variables keep pointing at them \u2014 so existing content never breaks. Registration is optional and fully reversible. Adobe Fonts and custom font definitions stay plugin-managed by design (Adobe fonts load from Adobe's servers and may not be self-hosted).<\/p><\/dd>\n<dt id=\"where%20can%20i%20get%20beta%20versions%20or%20report%20bugs%3F\"><h3>Where can I get beta versions or report bugs?<\/h3><\/dt>\n<dd><p>Beta builds are published as pre-releases on the plugin's <a href=\"https:\/\/github.com\/mattcowan\/typography-stylist-for-wordpress\/releases\">GitHub Releases page<\/a> \u2014 download the attached zip and install it via Plugins \u2192 Add New \u2192 Upload. Bugs are welcome on the <a href=\"https:\/\/github.com\/mattcowan\/typography-stylist-for-wordpress\/issues\">GitHub issue tracker<\/a> or the WordPress.org support forum.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1.2<\/h4>\n\n<ul>\n<li><strong>Automatic font-weight detection<\/strong> \u2014 newly added fonts (uploaded kits, Adobe Fonts, and Library fonts adopted in the editor) get their \"Available Font Weights\" pre-set to only the weights they actually ship, instead of all nine being enabled by default. A one-click \"Auto-detect weights for existing fonts\" button on the Custom Fonts tab covers fonts added before this release. Detection never narrows unless it is confident, and the checkboxes stay fully editable.<\/li>\n<li>Fixed: variable fonts uploaded as font-only ZIPs now glyph-browse correctly in the Glyphs Panel (the generated <code>format('truetype-variations')<\/code> hint was not recognized by the panel's file picker).<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Packaging: re-release of the 2.1.0 feature set under a fresh version number. The 2.1.0 tag's downloadable ZIP was cached against stale contents and never delivered the new files (Variable Fonts core integration, font metadata\/sources modules, WordPress Font Library integration); 2.1.1 ships them correctly. See the 2.1.0 entry below for the full list of changes included in this release.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li><strong>WordPress Font Library integration (WP 6.5+)<\/strong> \u2014 register uploaded fonts into the Font Library, per font or in bulk (opt-in and fully reversible), and use Library fonts straight from the editor font pickers. Existing content keeps rendering no matter what.<\/li>\n<li><strong>Variable Fonts built into core<\/strong> \u2014 the standalone extension is now bundled: automatic axis detection on upload, a \"Detect Axes from Font File\" button, per-font axis configuration, and axis sliders in both editors. If you ran the standalone plugin, deactivate it after updating; settings carry over automatically.<\/li>\n<li><strong>Font-only ZIP uploads<\/strong> \u2014 kits containing just font files (e.g. a Google Fonts download) are now accepted; the @font-face stylesheet is generated automatically from the fonts' metadata.<\/li>\n<li><strong>New <code>typost_force_enqueue_font_ids<\/code> filter<\/strong> \u2014 themes and extensions can force specific fonts to load on every page.<\/li>\n<li>Plus many fixes and improvements across the Glyphs Panel, variable fonts, editor font loading, and admin accessibility (including a WCAG color-contrast audit of all admin color schemes) \u2014 the complete list is in changelog.txt.<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Fixed: Mixed-content blocking of locally-hosted fonts in the Glyphs Panel \u2014 same-host <code>http:\/\/<\/code> font file URLs are now upgraded to <code>https:\/\/<\/code> before fetching, so fonts whose stored kit CSS contains absolute insecure URLs load correctly on HTTPS sites (cross-origin URLs are left untouched)<\/li>\n<\/ul>\n\n<p>Older releases are documented in changelog.txt (bundled with the plugin) and on the <a href=\"https:\/\/github.com\/mattcowan\/typography-stylist-for-wordpress\/releases\">GitHub Releases page<\/a>.<\/p>","raw_excerpt":"An Illustrator-style Glyphs Panel, OpenType features, and variable font controls in the block editor. Expressive typography that stays accessible.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/276027","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=276027"}],"author":[{"embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/matthewneilcowan"}],"wp:attachment":[{"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=276027"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=276027"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=276027"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=276027"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=276027"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=276027"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}