{"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-24T05:31:21","modified_gmt":"2026-08-24T05:31:21","slug":"massoftind-field-builder","status":"publish","type":"plugin","link":"https:\/\/te.wordpress.org\/plugins\/massoftind-field-builder\/","author":23538662,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.9.167","stable_tag":"1.9.167","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-24 05:31:21","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":10,"downloads":494,"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.167":{"tag":"1.9.167","author":"sandipbiswas123","date":"2026-08-24 05:31:21"},"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":3662646,"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.167","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.167<\/h4>\n\n<ul>\n<li>Fix: Featured Image selection did not stick after Set\/Update \u2014 core writes preview + <code>_thumbnail_id<\/code> only into <code>#postimagediv<\/code>; our stable metabox now receives the same HTML so the thumbnail saves and shows.<\/li>\n<\/ul>\n\n<h4>1.9.166<\/h4>\n\n<ul>\n<li>Fix: Featured Image preview matched default WP look \u2014 our metabox id was missing core <code>#postimagediv<\/code> image max-width styles (full-width photo); constrain thumbnail to 266px sidebar size and show box header + Remove link like core.<\/li>\n<\/ul>\n\n<h4>1.9.165<\/h4>\n\n<ul>\n<li>Fix: Featured Image missing again after 1.9.164 \u2014 use stable metabox id (removers target core postimagediv), keep modern Set featured image modal via media-editor bind, DOM fallback injects the box into the sidebar if stripped.<\/li>\n<\/ul>\n\n<h4>1.9.164<\/h4>\n\n<ul>\n<li>Fix: Featured Image opened the old thickbox uploader instead of the modern \u201cSet featured image\u201d modal \u2014 metabox id must be <code>postimagediv<\/code> for media-editor.js; enqueue media-editor and bind the modern frame.<\/li>\n<\/ul>\n\n<h4>1.9.163<\/h4>\n\n<ul>\n<li>Fix: Featured Image missing on CPT edit screens only when Field Builder is active \u2014 after-title paint no longer triggers WP <code>already_sorted<\/code> (which dropped side boxes); register Featured Image under our own metabox id so <code>postimagediv<\/code> removers cannot wipe it.<\/li>\n<\/ul>\n\n<h4>1.9.162<\/h4>\n\n<ul>\n<li>Fix: Featured Image still missing on CPT UI screens after 1.9.161 \u2014 normalize WP_Screen args, force global theme post-thumbnails, re-add metabox on admin_head, block-editor-compatible box, print CSS directly.<\/li>\n<\/ul>\n\n<h4>1.9.161<\/h4>\n\n<ul>\n<li>Fix: Featured Image still missing after 1.9.160 \u2014 re-add on <code>do_meta_boxes<\/code> (when other plugins remove it), force for all custom show_ui post types, place box at high priority near Publish.<\/li>\n<\/ul>\n\n<h4>1.9.160<\/h4>\n\n<ul>\n<li>Fix: Featured Image forced for all CPT UI post types (e.g. Image Galleries) \u2014 restores thumbnail support, theme post-thumbnails, re-adds metabox at late priority, and unhides postimagediv from Screen Options hidden list.<\/li>\n<\/ul>\n\n<h4>1.9.159<\/h4>\n\n<ul>\n<li>Fix: Taxonomy Add form \u2014 Category Image (and other Field Builder media fields) now clear after AJAX \u201cAdd new category\u201d (WordPress only cleared visible inputs).<\/li>\n<li>New: Taxonomy list table shows Image field thumbnails (e.g. Category Image column).<\/li>\n<\/ul>\n\n<h4>1.9.158<\/h4>\n\n<ul>\n<li>Fix: Featured Image on CPT UI post types (e.g. Image Galleries) when Field Builder registered the CPT first without thumbnail \u2014 restore CPT UI Featured Image support, theme post-thumbnails, and force the classic editor metabox.<\/li>\n<\/ul>\n\n<h4>1.9.157<\/h4>\n\n<ul>\n<li>Fix: Featured Image on CPT UI and other external post types \u2014 Set featured image metabox and button now work when Field Builder field groups are attached (not only for post types registered inside Field Builder).<\/li>\n<\/ul>\n\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:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/343562","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=343562"}],"author":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/masssoftware"}],"wp:attachment":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=343562"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=343562"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=343562"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=343562"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=343562"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=343562"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}