[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$ftLY5ZFhLvgFnLX8x1OXX4H9tamcby_nhEbMxErnwlH8":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},"starbist","https:\u002F\u002Fprofiles.wordpress.org\u002Fstarbist\u002F",1,0,100,30,94,"2026-04-05T09:17:14.317Z",[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},"yaml-custom-fields","YAML Custom Fields","1.2.7","\u003Cp>YAML Custom Fields allows you to define structured content schemas with an intuitive interface and ACF-like template functions. Perfect for theme developers who want flexible, schema-based content management without the complexity.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Define YAML schemas for page templates and template partials\u003C\u002Fli>\n\u003Cli>15+ field types including string, rich-text, images, blocks, taxonomies, data objects, and more\u003C\u002Fli>\n\u003Cli>Easy-to-use admin interface for managing schemas and data\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Three-level data hierarchy:\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Per-page data for individual customization (stored in post meta)\u003C\u002Fli>\n\u003Cli>Per-template global data shared across all posts using the same template\u003C\u002Fli>\n\u003Cli>Site-wide global data for partials like headers and footers\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Per-field global\u002Flocal toggle:\u003C\u002Fstrong> Each field can independently use template global data or page-specific data\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Visual dual-field interface:\u003C\u002Fstrong> See both template global and page-specific values side-by-side\u003C\u002Fli>\n\u003Cli>Data Objects for managing structured, reusable data (universities, companies, etc.)\u003C\u002Fli>\n\u003Cli>Data Validation page for reviewing imported content\u003C\u002Fli>\n\u003Cli>Consolidated Export\u002FImport page for all data types (settings, page data, data objects)\u003C\u002Fli>\n\u003Cli>Simple template functions with ACF-like syntax and auto-merge behavior\u003C\u002Fli>\n\u003Cli>Administrator-only access for security\u003C\u002Fli>\n\u003Cli>Clean uninstall removes all database records\u003C\u002Fli>\n\u003Cli>WordPress Coding Standards compliant\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Supported Field Types\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>String\u003C\u002Fstrong> – Single-line text with min\u002Fmax length\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Text\u003C\u002Fstrong> – Multi-line textarea\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Rich Text\u003C\u002Fstrong> – WordPress WYSIWYG editor\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Code\u003C\u002Fstrong> – Code editor with syntax highlighting\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Boolean\u003C\u002Fstrong> – Checkbox for true\u002Ffalse values\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Number\u003C\u002Fstrong> – Number input with min\u002Fmax constraints\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Date\u003C\u002Fstrong> – Date picker with optional time\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Select\u003C\u002Fstrong> – Dropdown with single\u002Fmultiple selection\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Taxonomy\u003C\u002Fstrong> – WordPress categories, tags, or custom taxonomies with single\u002Fmultiple selection\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post Type\u003C\u002Fstrong> – Dropdown to select registered post types (Post, Page, custom post types)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data Object\u003C\u002Fstrong> – Reference to structured data objects managed independently (universities, companies, team members, etc.)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Image\u003C\u002Fstrong> – WordPress media uploader for images\u003C\u002Fli>\n\u003Cli>\u003Cstrong>File\u003C\u002Fstrong> – WordPress media uploader for any file\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Object\u003C\u002Fstrong> – Nested group of fields\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Block\u003C\u002Fstrong> – Repeatable blocks for flexible page builders\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Usage Example\u003C\u002Fh4>\n\u003Cp>In your theme template:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php\n$hero_title = ycf_get_field('hero_title');\n$hero_image = ycf_get_image('hero_image', null, 'full');\n$category = ycf_get_term('category');\n$post_type = ycf_get_post_type('content_type');\n$university = ycf_get_data_object('university');\n$features = ycf_get_field('features');\n?>\n\n\u003Cdiv class=\"hero\">\n  \u003C?php if ($hero_image): ?>\n    \u003Cimg src=\"\u003C?php echo esc_url($hero_image['url']); ?>\" alt=\"\u003C?php echo esc_attr($hero_image['alt']); ?>\">\n  \u003C?php endif; ?>\n  \u003Ch1>\u003C?php echo esc_html($hero_title); ?>\u003C\u002Fh1>\n  \u003C?php if ($category): ?>\n    \u003Cspan class=\"category\">\u003C?php echo esc_html($category->name); ?>\u003C\u002Fspan>\n  \u003C?php endif; ?>\n  \u003C?php if ($university): ?>\n    \u003Cp>\u003C?php echo esc_html($university['name']); ?>\u003C\u002Fp>\n  \u003C?php endif; ?>\n\u003C\u002Fdiv>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Developer Documentation\u003C\u002Fh3>\n\u003Ch4>Template Functions\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Get a single field value:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$value = ycf_get_field('field_name');\n$value = ycf_get_field('field_name', 123); \u002F\u002F Specific post ID\n$value = ycf_get_field('logo', 'partial:header.php'); \u002F\u002F From partial\n$value = ycf_get_field('title', null, $block); \u002F\u002F From block context\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Get image field with details:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$image = ycf_get_image('field_name', null, 'full');\n$image = ycf_get_image('field_name', 123, 'thumbnail'); \u002F\u002F Specific post ID\n$image = ycf_get_image('icon', null, 'medium', $block); \u002F\u002F From block context\n\n\u002F\u002F Returns: array('id', 'url', 'alt', 'title', 'caption', 'description', 'width', 'height')\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Get file field with details:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$file = ycf_get_file('field_name', null);\n$file = ycf_get_file('field_name', 123); \u002F\u002F Specific post ID\n$file = ycf_get_file('document', null, $block); \u002F\u002F From block context\n\n\u002F\u002F Returns: array('id', 'url', 'path', 'filename', 'filesize', 'mime_type', 'title')\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Get taxonomy field (term or terms):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$term = ycf_get_term('field_name', null);\n$term = ycf_get_term('field_name', 123); \u002F\u002F Specific post ID\n$term = ycf_get_term('category', null, $block); \u002F\u002F From block context\n\n\u002F\u002F Returns: WP_Term object or array of WP_Term objects (for multiple selection)\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Get post type field:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$post_type = ycf_get_post_type('field_name', null);\n$post_type = ycf_get_post_type('field_name', 123); \u002F\u002F Specific post ID\n$post_type = ycf_get_post_type('content_type', null, $block); \u002F\u002F From block context\n\n\u002F\u002F Returns: WP_Post_Type object or null\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Get data object field:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$university = ycf_get_data_object('field_name', null);\n$university = ycf_get_data_object('field_name', 123); \u002F\u002F Specific post ID\n$university = ycf_get_data_object('university', null, $block); \u002F\u002F From block context\n\n\u002F\u002F Returns: Array with data object entry fields or null\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Get all entries of a data object type:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$all_universities = ycf_get_data_objects('universities');\nforeach ($all_universities as $entry_id => $university) {\n    echo esc_html($university['name']);\n}\n\n\u002F\u002F Returns: Array of all entries for the specified data object type\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Get all fields:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$fields = ycf_get_fields();\n$fields = ycf_get_fields(123); \u002F\u002F Specific post ID\n$fields = ycf_get_fields('partial:footer.php'); \u002F\u002F From partial\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Check if field exists:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>if (ycf_has_field('hero_title')) {\n    echo ycf_get_field('hero_title');\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Working with Block fields:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$blocks = ycf_get_field('features');\n\nif (!empty($blocks)) {\n    foreach ($blocks as $block) {\n        \u002F\u002F Access nested fields using context_data parameter\n        $title = ycf_get_field('title', null, $block);\n        $icon = ycf_get_image('icon', null, 'thumbnail', $block);\n        $category = ycf_get_term('category', null, $block);\n\n        echo '\u003Ch3>' . esc_html($title) . '\u003C\u002Fh3>';\n        if ($icon) {\n            echo '\u003Cimg src=\"' . esc_url($icon['url']) . '\">';\n        }\n        if ($category) {\n            echo '\u003Cspan>' . esc_html($category->name) . '\u003C\u002Fspan>';\n        }\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Sample YAML Schema\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>fields:\n  - name: hero_title\n    label: Hero Title\n    type: string\n    required: true\n    options:\n      maxlength: 100\n  - name: hero_image\n    label: Hero Image\n    type: image\n  - name: category\n    label: Category\n    type: taxonomy\n    options:\n      taxonomy: category\n  - name: tags\n    label: Tags\n    type: taxonomy\n    multiple: true\n    options:\n      taxonomy: post_tag\n  - name: content_type\n    label: Content Type\n    type: post_type\n  - name: university\n    label: University\n    type: data_object\n    options:\n      object_type: universities\n  - name: features\n    label: Features\n    type: block\n    list: true\n    blockKey: type\n    blocks:\n      - name: feature\n        label: Feature Block\n        fields:\n          - name: title\n            label: Title\n            type: string\n          - name: icon\n            label: Icon\n            type: image\n          - name: description\n            label: Description\n            type: text\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Working with Partials\u003C\u002Fh4>\n\u003Cp>For custom partials, add the @ycf marker in the file header:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php\n\u002F**\n * Custom Navigation Partial\n * @ycf\n *\u002F\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then click “Refresh Template List” in the YAML Custom Fields admin page.\u003C\u002Fp>\n\u003Ch4>Template Global Fields\u003C\u002Fh4>\n\u003Cp>Template Global Fields allow you to define default values that are shared across all posts using the same template, while still allowing individual posts to override specific fields.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Setting up Template Global:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>YAML Custom Fields\u003C\u002Fstrong> admin page\u003C\u002Fli>\n\u003Cli>Enable YAML for your template (e.g., page.php)\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Add Template Global\u003C\u002Fstrong> to define the template global schema\u003C\u002Fli>\n\u003Cli>Define fields that should have shared default values\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Manage Template Global Data\u003C\u002Fstrong> to set the default values\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Using Template Global in Posts:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>When editing a post that uses a template with Template Global fields, you’ll see a dual-field interface for each field:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Template Global (All Pages)\u003C\u002Fstrong> – Read-only display showing the default value (with Edit link)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Page-Specific Value\u003C\u002Fstrong> – Editable field for this post only\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Checkbox\u003C\u002Fstrong> – “Use template global for this field” – Toggle per field\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Benefits:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Consistency:\u003C\u002Fstrong> Set default values once, use across all posts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexibility:\u003C\u002Fstrong> Override any field on any post individually\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clarity:\u003C\u002Fstrong> See both global and local values side-by-side\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Efficiency:\u003C\u002Fstrong> Update template global to affect all posts at once\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Data Priority (when using template functions):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>When a field uses template global, \u003Ccode>ycf_get_field()\u003C\u002Fcode> returns data in this priority order:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Page-specific value (if “use template global” is unchecked)\u003C\u002Fli>\n\u003Cli>Template global value (if “use template global” is checked)\u003C\u002Fli>\n\u003Cli>Site-wide global value (if template has site-wide global enabled)\u003C\u002Fli>\n\u003Cli>null (if no value exists)\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Data Storage\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Page\u002FPost data:\u003C\u002Fstrong> Stored in post meta with key \u003Ccode>_yaml_cf_data\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Template Global preferences:\u003C\u002Fstrong> Stored in post meta with key \u003Ccode>_yaml_cf_use_template_global_fields\u003C\u002Fcode> (per-field array)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Template Global schemas:\u003C\u002Fstrong> Stored in options table with key \u003Ccode>yaml_cf_template_global_schemas\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Template Global data:\u003C\u002Fstrong> Stored in options table with key \u003Ccode>yaml_cf_template_global_data\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Site-wide global schema:\u003C\u002Fstrong> Stored in options table with key \u003Ccode>yaml_cf_global_schema\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Site-wide global data:\u003C\u002Fstrong> Stored in options table with key \u003Ccode>yaml_cf_global_data\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Partial data:\u003C\u002Fstrong> Stored in options table with key \u003Ccode>yaml_cf_partial_data\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Schemas:\u003C\u002Fstrong> Stored in options table with key \u003Ccode>yaml_cf_schemas\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data Object Types:\u003C\u002Fstrong> Stored in options table with key \u003Ccode>yaml_cf_data_object_types\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data Object Entries:\u003C\u002Fstrong> Stored in options table with keys \u003Ccode>yaml_cf_data_object_entries_{type_slug}\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>YAML Custom Fields does not collect, store, or transmit any user data outside of your WordPress installation. All data is stored locally in your WordPress database.\u003C\u002Fp>\n\u003Ch3>Third-Party Libraries\u003C\u002Fh3>\n\u003Cp>This plugin includes the following third-party libraries:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Symfony YAML Component\u003C\u002Fstrong> (v6.4) – Licensed under MIT License (GPL-compatible)\n\u003Cul>\n\u003Cli>Homepage: https:\u002F\u002Fsymfony.com\u002Fcomponents\u002FYaml\u003C\u002Fli>\n\u003Cli>License: https:\u002F\u002Fgithub.com\u002Fsymfony\u002Fyaml\u002Fblob\u002F7.3\u002FLICENSE\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Author: \u003Ca href=\"https:\u002F\u002Fwww.silvestar.codes\" rel=\"nofollow ugc\">Silvestar Bistrovic\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For documentation, examples, and support, visit:\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FmaliMirkec\u002Fyaml-custom-fields\" rel=\"nofollow ugc\">Plugin Documentation\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FmaliMirkec\u002Fyaml-custom-fields\u002Fissues\" rel=\"nofollow ugc\">Report Issues\u003C\u002Fa>\u003C\u002Fp>\n","A WordPress plugin for managing YAML frontmatter schemas in theme templates and partials.",252,"","6.9.4","5.0","8.1",[25,26,27,28,29],"custom-fields","frontmatter","meta-fields","schema","yaml","https:\u002F\u002Fgithub.com\u002FmaliMirkec\u002Fyaml-custom-fields","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fyaml-custom-fields.1.2.7.zip",null,"2026-03-15T10:48:56.248Z"]