[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fmvps3hBOs_dKjuBiaF-xdId595lewCZfUxIyYDoN2ls":3},{"slug":4,"display_name":4,"profile_url":5,"plugin_count":6,"total_installs":7,"avg_security_score":8,"avg_patch_time_days":9,"trust_score":10,"computed_at":11,"plugins":12},"vectorarrow","https:\u002F\u002Fprofiles.wordpress.org\u002Fvectorarrow\u002F",1,0,100,30,94,"2026-05-20T02:51:19.801Z",[13],{"slug":14,"name":15,"version":16,"author":4,"author_profile":5,"description":17,"short_description":18,"active_installs":7,"downloaded":19,"rating":7,"num_ratings":7,"last_updated":20,"tested_up_to":21,"requires_at_least":22,"requires_php":23,"tags":24,"homepage":30,"download_link":31,"security_score":8,"vuln_count":7,"unpatched_count":7,"last_vuln_date":32,"fetched_at":33},"vector-expressions","Vector Expressions","1.0.2","\u003Ch4>Features\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Dynamic Content\u003C\u002Fstrong> — Insert live data into any block using a simple template syntax: \u003Ccode>{{ post.title }}\u003C\u002Fcode>, \u003Ccode>{{ user.name }}\u003C\u002Fcode>, \u003Ccode>{{ site.name }}\u003C\u002Fcode>. No shortcodes, no PHP templates, no code.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Personalization\u003C\u002Fstrong> — Greet visitors by name, show role-specific content, or display custom messages based on login status. Expressions are evaluated server-side on every page load.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Visibility Control\u003C\u002Fstrong> — Show or hide any Gutenberg block based on conditions. Display content only for logged-in users, specific roles, or specific post states — all configured from the block sidebar.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Dynamic CSS Classes\u003C\u002Fstrong> — Inject CSS classes into any block based on live data. Style blocks differently for administrators vs. guests, published vs. draft posts, and more.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>20+ Built-in Filters\u003C\u002Fstrong> — Transform values with chainable pipes: \u003Ccode>upper\u003C\u002Fcode>, \u003Ccode>lower\u003C\u002Fcode>, \u003Ccode>truncate\u003C\u002Fcode>, \u003Ccode>date\u003C\u002Fcode>, \u003Ccode>default\u003C\u002Fcode>, \u003Ccode>match\u003C\u002Fcode>, \u003Ccode>replace\u003C\u002Fcode>, \u003Ccode>kebab\u003C\u002Fcode>, and more. Chain them: \u003Ccode>{{ post.title | upper | truncate 20 }}\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Custom Fields\u003C\u002Fstrong> — Access any post or user meta with \u003Ccode>post.meta.my_field\u003C\u002Fcode> or \u003Ccode>user.meta.my_field\u003C\u002Fcode>. Sensitive keys are blocked by default.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Full Expression Language\u003C\u002Fstrong> — Arithmetic, comparison, ternary, logical operators, string interpolation, and bracket access. All evaluated server-side with zero frontend JavaScript.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>In-Editor Autocomplete\u003C\u002Fstrong> — Typing \u003Ccode>{{\u003C\u002Fcode> triggers smart autocomplete with categorized suggestions, icons, and live previews.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Extensible\u003C\u002Fstrong> — Register custom data roots, custom filters, and custom autocomplete suggestions via WordPress hooks and JavaScript filters.\u003C\u002Fp>\n\u003Cp>For complete syntax reference, filter documentation, and developer guides, visit the \u003Ca href=\"https:\u002F\u002Fvectorarrow.com\u002Fdocs\u002F\" rel=\"nofollow ugc\">full documentation\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Cp>Add an expression to any block’s text content by typing \u003Ccode>{{\u003C\u002Fcode> and selecting your expression from the autocomplete menu. The plugin will automatically format it as an expression chip.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{{ post.title }}\n{{ user.name | default \"Guest\" }}\n{{ post.date | date \"F j, Y\" }}\n{{ user.is_logged_in ? \"Welcome back!\" : \"Hello, visitor!\" }}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Expressions are rendered as interactive chips in the editor and resolved server-side on every page render. No JavaScript runs on the frontend.\u003C\u002Fp>\n\u003Cp>For the full syntax guide, data roots, and filter reference, see the \u003Ca href=\"https:\u002F\u002Fvectorarrow.com\u002Fdocs\u002F\" rel=\"nofollow ugc\">documentation\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Source Code\u003C\u002Fh4>\n\u003Cp>The full, uncompressed source code is publicly available on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsamuel-reinhardt\u002FVector-Expressions\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>.\u003C\u002Fp>\n","Embed dynamic expressions in the Gutenberg block editor to personalize content and control block visibility.",193,"2026-03-17T00:17:00.000Z","6.9.4","6.2","8.1",[25,26,27,28,29],"block-editor","conditional","dynamic-content","gutenberg","personalization","https:\u002F\u002Fvectorarrow.com\u002Fproducts\u002Fvector-expressions\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvector-expressions.1.0.2.zip",null,"2026-04-16T10:56:18.058Z"]