{"id":343562,"date":"2026-07-28T04:28:18","date_gmt":"2026-07-28T04:28:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dynamic-fields-builder\/"},"modified":"2026-08-21T10:55:36","modified_gmt":"2026-08-21T10:55:36","slug":"massoftind-field-builder","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/massoftind-field-builder\/","author":23538662,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.9.156","stable_tag":"1.9.156","tested":"7.1","requires":"6.2","requires_php":"8.1","requires_plugins":null,"header_name":"Massoftind Field Builder","header_author":"Mass Software Solutions","header_description":"A lightweight, modular custom fields builder with modern UI, AJAX interactions, and clean architecture.","assets_banners_color":"e5f0fb","last_updated":"2026-08-21 10:55:36","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/masssoftwaresolutions.com\/","header_plugin_uri":"","header_author_uri":"https:\/\/masssoftwaresolutions.com\/","rating":4.8,"author_block_rating":0,"active_installs":0,"downloads":437,"num_ratings":4,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.58":{"tag":"1.3.58","author":"sandipbiswas123","date":"2026-07-28 04:41:19"},"1.3.59":{"tag":"1.3.59","author":"sandipbiswas123","date":"2026-07-28 08:02:18"},"1.3.61":{"tag":"1.3.61","author":"sandipbiswas123","date":"2026-07-29 05:50:22"},"1.9.100":{"tag":"1.9.100","author":"sandipbiswas123","date":"2026-08-07 07:35:20"},"1.9.101":{"tag":"1.9.101","author":"sandipbiswas123","date":"2026-08-07 09:34:56"},"1.9.112":{"tag":"1.9.112","author":"sandipbiswas123","date":"2026-08-10 10:24:11"},"1.9.133":{"tag":"1.9.133","author":"devmanishpathak","date":"2026-08-17 09:33:26"},"1.9.134":{"tag":"1.9.134","author":"devmanishpathak","date":"2026-08-17 10:39:37"},"1.9.135":{"tag":"1.9.135","author":"devmanishpathak","date":"2026-08-17 11:06:28"},"1.9.136":{"tag":"1.9.136","author":"devmanishpathak","date":"2026-08-18 04:45:56"},"1.9.137":{"tag":"1.9.137","author":"devmanishpathak","date":"2026-08-18 05:19:54"},"1.9.138":{"tag":"1.9.138","author":"devmanishpathak","date":"2026-08-19 11:56:57"},"1.9.139":{"tag":"1.9.139","author":"devmanishpathak","date":"2026-08-20 05:35:06"},"1.9.144":{"tag":"1.9.144","author":"devmanishpathak","date":"2026-08-20 06:16:33"},"1.9.145":{"tag":"1.9.145","author":"devmanishpathak","date":"2026-08-20 07:36:44"},"1.9.146":{"tag":"1.9.146","author":"devmanishpathak","date":"2026-08-20 08:16:16"},"1.9.147":{"tag":"1.9.147","author":"devmanishpathak","date":"2026-08-20 09:19:56"},"1.9.148":{"tag":"1.9.148","author":"devmanishpathak","date":"2026-08-20 09:52:46"},"1.9.149":{"tag":"1.9.149","author":"devmanishpathak","date":"2026-08-20 09:57:39"},"1.9.153":{"tag":"1.9.153","author":"devmanishpathak","date":"2026-08-20 11:58:02"},"1.9.156":{"tag":"1.9.156","author":"devmanishpathak","date":"2026-08-21 10:55:36"},"1.9.19":{"tag":"1.9.19","author":"sandipbiswas123","date":"2026-07-31 12:46:11"},"1.9.36":{"tag":"1.9.36","author":"sandipbiswas123","date":"2026-08-03 10:38:40"},"1.9.5":{"tag":"1.9.5","author":"sandipbiswas123","date":"2026-07-31 09:46:01"},"1.9.65":{"tag":"1.9.65","author":"sandipbiswas123","date":"2026-08-04 10:14:06"},"1.9.73":{"tag":"1.9.73","author":"sandipbiswas123","date":"2026-08-05 05:19:31"}},"upgrade_notice":{"1.9.156":"<p>Fixes Gallery thumbnail\/icon overlap after drag and inside meta tabs.<\/p>","1.9.155":"<p>Fixes Gallery reorder icon glitches, adds Repeater row drag sorting, and hardens Content Order saving.<\/p>","1.9.154":"<p>Fixes taxonomy term banners when themes call get_field( $name, get_queried_object() ) with a WP_Term.<\/p>","1.9.153":"<p>Menu SVG icons render as inline SVG (theme img tags converted) without theme edits.<\/p>","1.9.152":"<p>Fixes Menu SVG \/ menu-item fields for existing theme filters that call get_field( $name, $item ) and use the value as an image URL \u2014 no theme edits required.<\/p>","1.9.151":"<p>Adds Elementor Dynamic Tags (Massoftind Field Builder group) for CMS page building without ACF.<\/p>","1.9.150":"<p>Adds Menu Item location fields (Appearance \u2192 Menus) with ACF import compatibility.<\/p>","1.9.149":"<p>Hardens Bricks loop context for WPML\/qTranslate safety (format filters + stale loop clear).<\/p>","1.9.148":"<p>Fixes nested have_rows() for Group fields inside repeaters (e.g. hero video_section).<\/p>","1.9.147":"<p>Fixes empty Bricks repeater boxes (Mission \/ Why Live Local) when using {acf_repeater_subfield} tags.<\/p>","1.9.146":"<p>Fixes get_sub_field() Image ID return for missing sub-field defs, and adds SVG-safe attachment image helpers.<\/p>","1.9.145":"<p>Fixes Bricks stale loop context for group fields, ACF star_rating_field alias, and star HTML in Bricks DD.<\/p>","1.9.143":"<p>Fixes empty Bricks catalog\/service sections on homepage (legacy ACF options + Site Sections).<\/p>","1.9.142":"<p>Fixes empty Bricks global fields (footer, homepage) when ACF Options Page fields are stored in Site Sections.<\/p>","1.9.141":"<p>Urgent: fixes Bricks Logo\/Image fatal on sites using 1.9.140.<\/p>","1.9.140":"<p>Fix Bricks templates showing raw <code>{acf_*}<\/code> \/ <code>{ACF_*}<\/code> tags after 1.9.139.<\/p>","1.9.139":"<p>Fix Bricks <code>{acf_*}<\/code> tags without breaking WPML or qTranslate \u2014 native Bricks ACF provider stays off when only the MFB shim exists; MFB BricksSupport handles dynamic data.<\/p>","1.9.138":"<p>Fix empty repeater tabs (have_rows called for nav then content) and stop the ACF shim from activating qTranslate-X \/ ACFML as if real ACF were installed.<\/p>","1.9.137":"<p>Fix qTranslate-X fatal <code>acf_get_field_type()<\/code> missing from the ACF compatibility shim.<\/p>","1.9.136":"<p>Fix WP All Import ACF Add-On crash after each record (<code>acf_save_post_revision<\/code> missing from the ACF shim).<\/p>","1.9.135":"<p>Fix WP All Import ACF Add-On activation output by loading the ACF compatibility shim earlier.<\/p>","1.9.134":"<p>ACF\/WPML compatibility: WP All Import ACF Add-On support without ACF installed; WPML JSON config fix.<\/p>","1.9.133":"<p>Plugin Check fixes: Google Maps script versioning and Stable tag alignment. Includes Google Map field from 1.9.132.<\/p>","1.9.73":"<p>Image fields use compact Edit \/ Remove overlays on the thumbnail.<\/p>","1.9.72":"<p>WYSIWYG [embed] \/ YouTube videos now render on the front end.<\/p>","1.9.71":"<p>Critical: restores Product\/Blog category lists emptied by Content Order + WPML conflict.<\/p>","1.9.70":"<p>Product category Content Order now persists after refresh (syncs WooCommerce order meta).<\/p>","1.9.68":"<p>Taxonomy multi-select tags can be drag-reordered (Select Popular Categories order is saved).<\/p>","1.9.67":"<p>Content Order saves Product categories again; shipping\/other admin notices hidden on Field Builder pages.<\/p>","1.9.66":"<p>Richer WordPress.org Details page \u2014 modern feature list (gallery links, min\/max, WPML, integrations).<\/p>","1.9.5":"<p>Stable tag aligned with plugin version; gallery Image Array return format; video walkthrough link.<\/p>","1.6.0":"<p>Adds Layout Blocks for composable page sections, portable flexible-layout JSON import, and get_row_layout() compatibility.<\/p>","1.5.0":"<p>Adds migration helpers: legacy meta read fallback, Tools migration, and Settings toggles for template compatibility.<\/p>","1.3.44":"<p>Adds native qTranslate-X \/ qTranslate-XT support for multilingual field values.<\/p>","1.3.43":"<p>WordPress.org-first packaging: safer readme tags and official plugin information flow.<\/p>","1.3.42":"<p>Plugin Check warning fixes for developer code generation and field group ordering.<\/p>","1.3.41":"<p>Plugin Check error fixes; gallery libraries bundled locally.<\/p>","1.3.40":"<p>WordPress.org submission package; requires WordPress 6.2+.<\/p>","1.3.39":"<p>Developer Panel conditional-logic template examples for nested fields.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":1,"5":3},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3625359,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3625359,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3625359,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3625359,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3658832,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=massoftind-fb-field-groups\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"login\":true,\"plugins\":[\"massoftind-field-builder\"],\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"massoftind-field-builder\"},\"options\":{\"activate\":true}}]}"}},"all_blocks":[],"tagged_versions":["1.3.58","1.3.59","1.3.61","1.9.100","1.9.101","1.9.112","1.9.133","1.9.134","1.9.135","1.9.136","1.9.137","1.9.138","1.9.139","1.9.144","1.9.145","1.9.146","1.9.147","1.9.148","1.9.149","1.9.153","1.9.156","1.9.19","1.9.36","1.9.5","1.9.65","1.9.73"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3625369,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3625369,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3634841,"resolution":"3","location":"assets","locale":"","width":1536,"height":1024},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3625369,"resolution":"4","location":"assets","locale":"","width":1280,"height":800},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3634841,"resolution":"5","location":"assets","locale":"","width":1536,"height":1024}},"screenshots":{"1":"Simple &amp; Intuitive \u2014 create field groups and edit values in a clean modern admin UI.","2":"Made For Developers \u2014 template helpers and copy-ready snippets from the developer panel.","3":"All About Fields \u2014 37 field types: Text, WYSIWYG, Image, Gallery, Relationship, Repeater, Layout Blocks, and more.","4":"Location Rules \u2014 show field groups by post type, template, taxonomy, role, and more.","5":"Latest features \u2014 Image Edit\/Remove overlays, Gallery Link URL + Target, Content Order, WPML-ready relationships, and WYSIWYG embeds."}},"plugin_section":[],"plugin_tags":[2010,245286,210,2205,2244],"plugin_category":[50],"plugin_contributors":[272907,273581,273580,273558],"plugin_business_model":[],"class_list":["post-343562","plugin","type-plugin","status-publish","hentry","plugin_tags-custom-fields","plugin_tags-field-builder","plugin_tags-gallery","plugin_tags-metabox","plugin_tags-repeater","plugin_category-media","plugin_contributors-devmanishpathak","plugin_contributors-massoft","plugin_contributors-masssoftware","plugin_contributors-sandipbiswas123","plugin_committers-devmanishpathak","plugin_committers-massoft","plugin_committers-masssoftware","plugin_committers-sandipbiswas123","plugin_support_reps-devmanishpathak"],"banners":{"banner":"https:\/\/ps.w.org\/massoftind-field-builder\/assets\/banner-772x250.png?rev=3625359","banner_2x":"https:\/\/ps.w.org\/massoftind-field-builder\/assets\/banner-1544x500.png?rev=3625359","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/massoftind-field-builder\/assets\/icon-128x128.png?rev=3625359","icon_2x":"https:\/\/ps.w.org\/massoftind-field-builder\/assets\/icon-256x256.png?rev=3625359","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/massoftind-field-builder\/assets\/screenshot-1.png?rev=3625369","caption":"Simple &amp; Intuitive \u2014 create field groups and edit values in a clean modern admin UI."},{"src":"https:\/\/ps.w.org\/massoftind-field-builder\/assets\/screenshot-2.png?rev=3625369","caption":"Made For Developers \u2014 template helpers and copy-ready snippets from the developer panel."},{"src":"https:\/\/ps.w.org\/massoftind-field-builder\/assets\/screenshot-3.png?rev=3634841","caption":"All About Fields \u2014 37 field types: Text, WYSIWYG, Image, Gallery, Relationship, Repeater, Layout Blocks, and more."},{"src":"https:\/\/ps.w.org\/massoftind-field-builder\/assets\/screenshot-4.png?rev=3625369","caption":"Location Rules \u2014 show field groups by post type, template, taxonomy, role, and more."},{"src":"https:\/\/ps.w.org\/massoftind-field-builder\/assets\/screenshot-5.png?rev=3634841","caption":"Latest features \u2014 Image Edit\/Remove overlays, Gallery Link URL + Target, Content Order, WPML-ready relationships, and WYSIWYG embeds."}],"raw_content":"<!--section=description-->\n<p><strong>Massoftind Field Builder<\/strong> is a modern custom-fields \/ field-builder plugin for WordPress. Build reusable field groups with a clean visual UI, nest repeaters and layout blocks, attach media and relationships, and render values safely in your theme.<\/p>\n\n<h4>Highlights<\/h4>\n\n<ul>\n<li><strong>Visual field builder<\/strong> \u2014 drag-and-drop fields, search, duplicate, Browse Fields type switcher<\/li>\n<li><strong>37 field types<\/strong> \u2014 text, media, choices, relations, layout, and more<\/li>\n<li><strong>Nested structures<\/strong> \u2014 Repeater, Group, Accordion, Tabs, Layout Blocks<\/li>\n<li><strong>Smart location rules<\/strong> \u2014 post type, template, taxonomy, user form, and custom filters<\/li>\n<li><strong>Conditional logic<\/strong> \u2014 show\/hide fields based on other field values<\/li>\n<li><strong>Developer-first<\/strong> \u2014 copy-ready PHP snippets, Filters &amp; Hooks guide, optional REST API<\/li>\n<li><strong>Bricks Builder<\/strong> \u2014 <code>{mfb_field}<\/code> Dynamic Data tags + Massoftind Repeater query loop (coexists with ACF Pro <code>{acf_\u2026}<\/code>)<\/li>\n<li><strong>Elementor<\/strong> \u2014 Massoftind Dynamic Tags (text, image, URL, gallery, color, number) for CMS page building without ACF<\/li>\n<li><strong>Multilingual-ready<\/strong> \u2014 WPML \/ WCML and qTranslate-X \/ qTranslate-XT<\/li>\n<li><strong>Try instantly<\/strong> \u2014 <a href=\"https:\/\/playground.wordpress.net\/?plugin=massoftind-field-builder&amp;url=\/wp-admin\/admin.php%3Fpage%3Dmassoftind-fb-field-groups&amp;php=8.2\">WordPress Playground live demo<\/a><\/li>\n<\/ul>\n\n<h4>Try a live demo<\/h4>\n\n<p>Open WordPress Playground with the plugin preinstalled:<\/p>\n\n<p><a href=\"https:\/\/playground.wordpress.net\/?plugin=massoftind-field-builder&amp;url=\/wp-admin\/admin.php%3Fpage%3Dmassoftind-fb-field-groups&amp;php=8.2\">Try Massoftind Field Builder in WordPress Playground<\/a><\/p>\n\n<h4>Video walkthrough<\/h4>\n\n<p>https:\/\/www.youtube.com\/watch?v=6Z7VDzOmx1M<\/p>\n\n<h4>Field types<\/h4>\n\n<ul>\n<li><strong>Basic:<\/strong> Text, Textarea, Number, Email, URL, Password, Hidden, Range, Color<\/li>\n<li><strong>Content:<\/strong> WYSIWYG, Code Editor, Shortcode, Link, Message (instructions only)<\/li>\n<li><strong>Date &amp; time:<\/strong> Date, Date &amp; Time, Time<\/li>\n<li><strong>Media:<\/strong> Image, Gallery, File, Video, YouTube<\/li>\n<li><strong>Choices:<\/strong> Select, Checkbox, Radio, Toggle, Star Rating<\/li>\n<li><strong>Relations:<\/strong> Post Object, Relationship, Taxonomy, User<\/li>\n<li><strong>Layout:<\/strong> Repeater, Group, Accordion, Tabs, Layout Blocks, Clone<\/li>\n<\/ul>\n\n<h4>Modern media &amp; gallery<\/h4>\n\n<ul>\n<li>Gallery and Image return formats: Image ID, Image URL, or <strong>Image Array<\/strong><\/li>\n<li>Gallery layouts: Card \/ Masonry with optional lightbox<\/li>\n<li>Per-image <strong>Link URL<\/strong> + <strong>Link Target<\/strong> (<code>_blank<\/code>, <code>_self<\/code>, <code>_parent<\/code>, <code>_top<\/code>) in the Media sidebar<\/li>\n<li>Theme loops can use <code>$img['external_url']<\/code> and <code>$img['target']<\/code> (or <code>massoftind_fb_the_gallery()<\/code>)<\/li>\n<\/ul>\n\n<h4>Relationships &amp; taxonomies<\/h4>\n\n<ul>\n<li>Relationship dual-list picker with search, filters, drag reorder<\/li>\n<li><strong>Allow Multiple<\/strong> with optional <strong>Min \/ Max<\/strong> selection limits<\/li>\n<li>WPML-aware titles \u2014 Available and Selected stay in the current admin language<\/li>\n<li>Taxonomy multi-select preserves pick order; optional <strong>Exclude Terms<\/strong> picker<\/li>\n<li>Taxonomy <strong>Min \/ Max<\/strong> when multiple is enabled<\/li>\n<\/ul>\n\n<h4>Builder &amp; admin experience<\/h4>\n\n<ul>\n<li>Drag-and-drop field builder with nested Sub Fields<\/li>\n<li>Location rules (post type, page template, taxonomy, role, and more)<\/li>\n<li>Conditional logic on fields<\/li>\n<li>Import \/ export field groups as JSON<\/li>\n<li>Post Types, Taxonomies, Site Sections, List Views, and <strong>Content Order<\/strong><\/li>\n<li>Settings: Preferences, Field Usage Guide, <strong>Filters &amp; Hooks<\/strong> reference<\/li>\n<li>Optional Classic Editor toggle and SVG upload control<\/li>\n<li>Onboarding checklist and in-plugin documentation<\/li>\n<\/ul>\n\n<h4>Multilingual &amp; integrations<\/h4>\n\n<ul>\n<li><strong>qTranslate-X \/ qTranslate-XT<\/strong> \u2014 language buttons on text-like fields<\/li>\n<li><strong>WPML + WooCommerce Multilingual<\/strong> \u2014 translate\/copy custom fields; product sync with WCML<\/li>\n<li><strong>Yoast SEO \/ Premium<\/strong> and <strong>Rank Math \/ Pro<\/strong> \u2014 custom field variables<\/li>\n<li><strong>WooCommerce<\/strong> location rules for products<\/li>\n<li><strong>WP All Import Pro<\/strong> \/ <strong>WP All Export Pro<\/strong> field exposure<\/li>\n<li><strong>Elementor<\/strong> (Free + Pro) \u2014 Massoftind Dynamic Tags group<\/li>\n<\/ul>\n\n<h4>Template helpers<\/h4>\n\n<p>Use in your theme:<\/p>\n\n<ul>\n<li><code>massoftind_fb_get()<\/code> \/ <code>massoftind_fb_update()<\/code><\/li>\n<li><code>massoftind_fb_have_rows()<\/code> \/ <code>massoftind_fb_the_row()<\/code> \/ <code>massoftind_fb_sub_field()<\/code><\/li>\n<li><code>massoftind_fb_image()<\/code> \/ <code>massoftind_fb_gallery()<\/code> \/ <code>massoftind_fb_the_gallery()<\/code><\/li>\n<li><code>massoftind_fb_terms()<\/code> \/ <code>massoftind_fb_date()<\/code> and more<\/li>\n<\/ul>\n\n<p>Optional template-compatibility aliases (<code>get_field<\/code>, <code>have_rows<\/code>, \u2026) can be enabled in Settings for existing theme code.<\/p>\n\n<h4>Bricks Builder<\/h4>\n\n<p>When <a href=\"https:\/\/bricksbuilder.io\/\">Bricks<\/a> is active (Settings \u2192 Bricks Dynamic Data on by default):<\/p>\n\n<ul>\n<li>Use <code>{mfb_field_name}<\/code> in Dynamic Data (group <strong>Massoftind Field Builder<\/strong>)<\/li>\n<li>Options: <code>{mfb_option:field_name}<\/code><\/li>\n<li>Repeaters: Query Loop type <strong>Massoftind Repeater<\/strong>, set Meta Key to the repeater name, use <code>{mfb_row:sub_field}<\/code> inside the loop<\/li>\n<li>ACF Pro can stay installed \u2014 <code>{acf_\u2026}<\/code> tags are not changed; rebind templates to <code>{mfb_\u2026}<\/code> only when migrating fields<\/li>\n<li><strong>Or deactivate ACF:<\/strong> with <strong>Bricks ACF tag alias<\/strong> (default on), existing <code>{acf_\u2026}<\/code> tags and ACF repeater query loops are resolved by Massoftind \u2014 no Bricks template edits<\/li>\n<\/ul>\n\n<h4>Elementor<\/h4>\n\n<p>When <a href=\"https:\/\/elementor.com\/\">Elementor<\/a> is active (Settings \u2192 Elementor Dynamic Tags on by default):<\/p>\n\n<ul>\n<li>Open any widget control that supports Dynamic Tags \u2192 group <strong>Massoftind Field Builder<\/strong><\/li>\n<li>Tags: <strong>Massoftind Field<\/strong> (text), <strong>Image<\/strong>, <strong>URL<\/strong>, <strong>Gallery<\/strong>, <strong>Color<\/strong>, <strong>Number<\/strong><\/li>\n<li>Source: <strong>Current post \/ term<\/strong> or <strong>Site Sections \/ Options<\/strong><\/li>\n<li>Nested Group fields appear as <code>parent_child<\/code> names in the picker<\/li>\n<li>Prefer these tags for new CMS builds; optional ACF shim still helps some Elementor Pro ACF widgets after migration<\/li>\n<\/ul>\n\n<h4>Privacy &amp; third-party services<\/h4>\n\n<ul>\n<li>Does <strong>not<\/strong> phone home or send site data to Massoftind<\/li>\n<li>YouTube fields may load thumbnails\/embeds from YouTube only when configured \u2014 see <a href=\"https:\/\/www.youtube.com\/t\/terms\">YouTube Terms<\/a><\/li>\n<li>SVG uploads are <strong>off by default<\/strong> (Settings \u2192 Allow SVG Uploads)<\/li>\n<\/ul>\n\n<h4>Optional companion<\/h4>\n\n<p>Works alongside <strong>Dynamic Content Builder<\/strong> for front-end listings. No other plugins are required to use Field Builder.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>massoftind-field-builder<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Activate <strong>Massoftind Field Builder<\/strong>.<\/li>\n<li>Open <strong>Field Builders<\/strong> in the admin menu.<\/li>\n<li>Create a field group, add fields, set location rules, and save.<\/li>\n<li>Edit matching content and use template helpers (or the developer panel snippets) in your theme.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20another%20custom%20fields%20plugin%3F\"><h3>Do I need another custom fields plugin?<\/h3><\/dt>\n<dd><p>No. Massoftind Field Builder is a standalone field builder with its own metabox UI, repeaters, and template helpers.<\/p><\/dd>\n<dt id=\"can%20i%20try%20it%20before%20installing%3F\"><h3>Can I try it before installing?<\/h3><\/dt>\n<dd><p>Yes \u2014 <a href=\"https:\/\/playground.wordpress.net\/?plugin=massoftind-field-builder&amp;url=\/wp-admin\/admin.php%3Fpage%3Dmassoftind-fb-field-groups&amp;php=8.2\">WordPress Playground live demo<\/a>.<\/p><\/dd>\n<dt id=\"where%20are%20field%20values%20stored%3F\"><h3>Where are field values stored?<\/h3><\/dt>\n<dd><p>As prefixed post meta. Field-group definitions use an internal custom post type.<\/p><\/dd>\n<dt id=\"how%20do%20i%20set%20a%20link%20url%20on%20a%20gallery%20image%3F\"><h3>How do I set a Link URL on a gallery image?<\/h3><\/dt>\n<dd><p>Open the Gallery field \u2192 <strong>Edit<\/strong> on a thumbnail \u2192 in Attachment Details set optional <strong>Link URL<\/strong> and <strong>Link Target<\/strong>. Values appear in Image Array as <code>external_url<\/code> and <code>target<\/code>.<\/p><\/dd>\n<dt id=\"can%20i%20limit%20how%20many%20items%20a%20relationship%20or%20taxonomy%20field%20allows%3F\"><h3>Can I limit how many items a Relationship or Taxonomy field allows?<\/h3><\/dt>\n<dd><p>Yes. Enable <strong>Allow Multiple<\/strong>, then set optional <strong>Minimum Selections<\/strong> and <strong>Maximum Selections<\/strong> (0 = no limit).<\/p><\/dd>\n<dt id=\"can%20i%20move%20field%20groups%20between%20sites%3F\"><h3>Can I move field groups between sites?<\/h3><\/dt>\n<dd><p>Yes. Use <strong>Tools \u2192 Export<\/strong> and <strong>Import<\/strong> for JSON field-group definitions (and related Post Types \/ Taxonomies \/ Site Sections when present).<\/p><\/dd>\n<dt id=\"is%20there%20a%20rest%20api%3F\"><h3>Is there a REST API?<\/h3><\/dt>\n<dd><p>Yes, optional. Enable under <strong>Field Builders \u2192 Settings<\/strong>. Endpoints require authenticated users with the right capabilities.<\/p><\/dd>\n<dt id=\"does%20this%20phone%20home%3F\"><h3>Does this phone home?<\/h3><\/dt>\n<dd><p>No.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20qtranslate-x%3F\"><h3>Does it work with qTranslate-X?<\/h3><\/dt>\n<dd><p>Yes. With <strong>qTranslate-X<\/strong> or <strong>qTranslate-XT<\/strong>, text-like fields use Language Switching Buttons. Helpers return the active language on the front end.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20yoast%20seo%2C%20rank%20math%2C%20wp%20all%20import%20%2F%20export%3F\"><h3>Does it work with Yoast SEO, Rank Math, WP All Import \/ Export?<\/h3><\/dt>\n<dd><p>Yes, when those plugins are active (SEO variables, sitemap exclusions, import\/export field exposure).<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20wpml%20%2F%20woocommerce%20multilingual%3F\"><h3>Does it work with WPML \/ WooCommerce Multilingual?<\/h3><\/dt>\n<dd><p>Yes. Fields register for translate\/copy; WCML product translation UI is supported. Override under WPML \u2192 Settings \u2192 Custom Fields Translation.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20bricks%20builder%20and%20acf%20pro%3F\"><h3>Does it work with Bricks Builder and ACF Pro?<\/h3><\/dt>\n<dd><p>Yes. Bricks Dynamic Data shows a <strong>Massoftind Field Builder<\/strong> group with <code>{mfb_field_name}<\/code> tags. While ACF Pro is active, Bricks\u2019 <code>{acf_\u2026}<\/code> tags stay native to ACF. After you deactivate ACF and import field JSON into Massoftind, enable <strong>Settings \u2192 Bricks ACF tag alias<\/strong> (default on) so the same <code>{acf_\u2026}<\/code> tags and ACF repeater loops keep working through Massoftind \u2014 no Bricks template or core edits. For repeaters you can also use Query Loop type <strong>Massoftind Repeater<\/strong> and <code>{mfb_row:sub_field}<\/code>.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20elementor%3F\"><h3>Does it work with Elementor?<\/h3><\/dt>\n<dd><p>Yes. With Elementor active, Dynamic Tags include a <strong>Massoftind Field Builder<\/strong> group (text, image, URL, gallery, color, number). Bind Heading, Image, Button, and Gallery widgets to your fields \u2014 including Site Sections \/ Options. Keep field names when migrating from ACF; use the Massoftind tags for a reliable CMS workflow (Elementor Pro\u2019s ACF tags remain best-effort via the optional ACF shim).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.9.156<\/h4>\n\n<ul>\n<li>Fix: Gallery Logos UI \u2014 overlapping thumbs \/ stacked Edit\u00d7 icons after reorder (jQuery UI Sortable + flex; also broken when gallery sits in a hidden meta tab).<\/li>\n<li>Fix: Gallery uses float layout, clears leftover absolute positioning, refreshes on meta-tab switch.<\/li>\n<li>Compat: Admin UI only \u2014 Bricks, Elementor, WPML, and qTranslate value\/rendering paths unchanged.<\/li>\n<\/ul>\n\n<h4>1.9.155<\/h4>\n\n<ul>\n<li>Fix: Gallery field \u2014 reordering images no longer leaves duplicate Edit\/Remove icons; improved drag helper\/placeholder.<\/li>\n<li>New: Repeater rows are drag-sortable via a grip handle (order saved on publish).<\/li>\n<li>Fix: Content Order \u2014 correct pagination offset when saving, more reliable sortable init, Quick Edit re-bind.<\/li>\n<li>Compat: Bricks, Elementor, WPML, and qTranslate paths unchanged.<\/li>\n<\/ul>\n\n<h4>1.9.154<\/h4>\n\n<ul>\n<li>Fix: <code>get_field( $name, get_queried_object() )<\/code> \/ <code>massoftind_fb_get()<\/code> accept <code>WP_Term<\/code> objects (ACF parity) so taxonomy term banners and term meta render on archives.<\/li>\n<li>Compat: Bricks, Elementor, WPML, and qTranslate paths unchanged \u2014 term values still run through <code>massoftind_fb_format_value<\/code>.<\/li>\n<\/ul>\n\n<h4>1.9.153<\/h4>\n\n<ul>\n<li>Fix: Menu SVG icons \u2014 convert theme <code>&lt;img class=\"menu_svg_image\" src=\"\u2026.svg\"&gt;<\/code> to sanitized inline <code>&lt;svg&gt;<\/code> on the front end (no theme edit). Works even when Allow SVG Uploads is off.<\/li>\n<li>Note: Allow SVG Uploads remains upload-only. Front-end menu inlining is separate.<\/li>\n<\/ul>\n\n<h4>1.9.152<\/h4>\n\n<ul>\n<li>Fix: <code>get_field( $name, $item )<\/code> \/ <code>massoftind_fb_get()<\/code> accept menu item objects (ACF parity) so Appearance \u2192 Menus fields like Menu SVG resolve on the front end.<\/li>\n<li>Fix: Template-compat post ID normalizer extracts <code>-&gt;ID<\/code> from objects instead of falling back to the current page.<\/li>\n<li>Fix: Image fields on <code>nav_menu_item<\/code> return a URL string (unless Return Format is Image Array) so existing <code>&lt;img src=\"' . $icon . '\"&gt;<\/code> theme filters work without edits.<\/li>\n<\/ul>\n\n<h4>1.9.151<\/h4>\n\n<ul>\n<li>New: <strong>Elementor Dynamic Tags<\/strong> \u2014 Massoftind Field \/ Image \/ URL \/ Gallery \/ Color \/ Number group for CMS page building without ACF.<\/li>\n<li>New: Settings \u2192 <strong>Elementor Dynamic Tags<\/strong> (on by default); source Current post\/term or Site Sections \/ Options.<\/li>\n<li>Compat: Bricks, WPML, and qTranslate paths unchanged.<\/li>\n<\/ul>\n\n<h4>1.9.150<\/h4>\n\n<ul>\n<li>New: Location rule <strong>Menu Item<\/strong> (<code>nav_menu<\/code>) \u2014 attach fields to Appearance \u2192 Menus items (ACF-compatible, e.g. Menu SVG).<\/li>\n<li>New: ACF import maps <code>nav_menu<\/code> \/ <code>menu_item<\/code> \/ <code>nav_menu_item<\/code> location rules; values save as <code>nav_menu_item<\/code> post meta for <code>get_field( $name, $item_id )<\/code> (Elementor Pro, Bricks, themes).<\/li>\n<li>Compat: WPML menu-item duplicates disconnect on save; qTranslate still formats via existing <code>massoftind_fb_format_value<\/code> on get.<\/li>\n<\/ul>\n\n<h4>1.9.149<\/h4>\n\n<ul>\n<li>Fix: Bricks loop <code>get_field()<\/code> values run through <code>massoftind_fb_format_value<\/code> again (qTranslate <code>[:lang]<\/code> decode).<\/li>\n<li>Fix: Stale Massoftind repeater context clears when Bricks starts a non-MFB query; container-root gating still blocks Our Story\u2013style tag theft.<\/li>\n<li>Fix: Bricks text\/link dynamic data applies the same format filter before shortcodes.<\/li>\n<\/ul>\n\n<h4>1.9.148<\/h4>\n\n<ul>\n<li>Fix: Nested <code>have_rows( 'group_field' )<\/code> inside a repeater\/group (e.g. <code>video_section<\/code> in <code>banner_section<\/code>) no longer drops associative group values \u2014 hero video loops work again.<\/li>\n<\/ul>\n\n<h4>1.9.147<\/h4>\n\n<ul>\n<li>Fix: Bricks repeater loop tags like <code>{acf_item_repeater_item_heading}<\/code> render again (Mission \/ Why Live Local empty boxes).<\/li>\n<li>Fix: Loop-row resolution matches the active repeater path (not a shorter FieldCatalog root), and settings no longer wipe loop tags before the loop runs.<\/li>\n<li>Fix: <code>get_field()<\/code> reads the active Bricks Massoftind loop row so Bricks' native ACF provider gets sub-field values.<\/li>\n<\/ul>\n\n<h4>1.9.146<\/h4>\n\n<ul>\n<li>Fix: <code>get_sub_field()<\/code> keeps numeric attachment IDs (instead of converting them to arrays) when the sub-field definition is missing, so <code>wp_get_attachment_image()<\/code> works with Image ID return format.<\/li>\n<li>Fix: Stronger repeater parent lookup when resolving nested image\/file sub-fields.<\/li>\n<li>New: <code>massoftind_fb_attachment_image()<\/code> \/ <code>massoftind_fb_get_attachment_image()<\/code> helpers that render SVGs and other attachments that <code>wp_get_attachment_image()<\/code> skips.<\/li>\n<\/ul>\n\n<h4>1.9.145<\/h4>\n\n<ul>\n<li>Fix: Bricks query loops no longer leave stale row context that steals later <code>{mfb_*}<\/code> \/ group field tags (e.g. Our Story after Mission\/Vision).<\/li>\n<li>Fix: ACF Star Rating Field import type <code>star_rating_field<\/code> maps to native Star Rating so admin no longer shows \"This field type is not available.\"<\/li>\n<li>Fix: Bricks dynamic data for <code>star_rating<\/code> fields outputs star HTML instead of a bare number.<\/li>\n<\/ul>\n\n<h4>1.9.144<\/h4>\n\n<ul>\n<li>Fix: WordPress shortcodes in Text\/Textarea fields (e.g. <code>[current_year]<\/code>) run through <code>do_shortcode()<\/code> when rendered in Bricks dynamic data and via <code>massoftind_fb_get()<\/code>.<\/li>\n<\/ul>\n\n<h4>1.9.143<\/h4>\n\n<ul>\n<li>Fix: Bricks homepage\/catalog sections empty when fields are on the front page but values live in Site Sections or legacy ACF Options keys \u2014 option fallback no longer blocked by front-page location rules.<\/li>\n<li>Fix: Resolve <code>{acf_*}<\/code> in Bricks Heading\/Text\/Link element settings before render (catalog + service sections).<\/li>\n<li>Fix: WPML-safe \u2014 post-only fields still never fall back to globals; legacy ACF option keys are detected before blocking.<\/li>\n<\/ul>\n\n<h4>1.9.142<\/h4>\n\n<ul>\n<li>Fix: Bricks <code>{acf_*}<\/code> Site Section \/ global fields resolve when called without <code>:option<\/code> \u2014 <code>get_field()<\/code> and <code>get_field_object()<\/code> now fall back to wp_options (footer, homepage sections, contact info).<\/li>\n<li>Fix: Nested group sub-fields and underscore paths (<code>footer_connect_section_heading<\/code>) read from Site Section option storage.<\/li>\n<li>Fix: Option fallback is gated to Site Section fields only \u2014 post-assigned fields with empty meta stay empty (WPML per-translation). qTranslate still decodes via existing <code>massoftind_fb_format_value<\/code> on options.<\/li>\n<\/ul>\n\n<h4>1.9.141<\/h4>\n\n<ul>\n<li>Fix: Bricks Logo\/Image fatal (<code>preg_split(): array given<\/code>) \u2014 remove early <code>render_tag<\/code> hook at priority 5 that returned image arrays before Bricks' ACF provider runs.<\/li>\n<li>Fix: Resolve dynamic logo image fields via <code>filter_element_settings<\/code> on the Logo element.<\/li>\n<\/ul>\n\n<h4>1.9.140<\/h4>\n\n<ul>\n<li>Fix: Bricks <code>{acf_*}<\/code> dynamic tags render again \u2014 keep Bricks' native ACF provider and resolve tags early via BricksSupport (1.9.139 had disabled the provider, leaving raw <code>{ACF_\u2026}<\/code> in templates).<\/li>\n<li>Fix: Site Section \/ options fields (footer globals) resolve by full field path, not only the first underscore segment.<\/li>\n<\/ul>\n\n<p>For earlier releases, see the <code>changelog.txt<\/code> file bundled with the plugin.<\/p>","raw_excerpt":"Modern custom fields for WordPress \u2014 visual builder, nested repeaters, galleries, relationships, WPML, conditional logic, and theme helpers.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/343562","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=343562"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/masssoftware"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=343562"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=343562"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=343562"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=343562"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=343562"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=343562"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}