Descriere
Massoftind Field Builder 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.
Highlights
- Visual field builder — drag-and-drop fields, search, duplicate, Browse Fields type switcher
- 37 field types — text, media, choices, relations, layout, and more
- Nested structures — Repeater, Group, Accordion, Tabs, Layout Blocks
- Smart location rules — post type, template, taxonomy, user form, and custom filters
- Conditional logic — show/hide fields based on other field values
- Developer-first — copy-ready PHP snippets, Filters & Hooks guide, optional REST API
- Bricks Builder —
{mfb_field}Dynamic Data tags + Massoftind Repeater query loop (coexists with ACF Pro{acf_…}) - Elementor — Massoftind Dynamic Tags (text, image, URL, gallery, color, number) for CMS page building without ACF
- Multilingual-ready — WPML / WCML and qTranslate-X / qTranslate-XT
- Try instantly — WordPress Playground live demo
Try a live demo
Open WordPress Playground with the plugin preinstalled:
Try Massoftind Field Builder in WordPress Playground
Video walkthrough
Field types
- Basic: Text, Textarea, Number, Email, URL, Password, Hidden, Range, Color
- Content: WYSIWYG, Code Editor, Shortcode, Link, Message (instructions only)
- Date & time: Date, Date & Time, Time
- Media: Image, Gallery, File, Video, YouTube
- Choices: Select, Checkbox, Radio, Toggle, Star Rating
- Relations: Post Object, Relationship, Taxonomy, User
- Layout: Repeater, Group, Accordion, Tabs, Layout Blocks, Clone
Modern media & gallery
- Gallery and Image return formats: Image ID, Image URL, or Image Array
- Gallery layouts: Card / Masonry with optional lightbox
- Per-image Link URL + Link Target (
_blank,_self,_parent,_top) in the Media sidebar - Theme loops can use
$img['external_url']and$img['target'](ormassoftind_fb_the_gallery())
Relationships & taxonomies
- Relationship dual-list picker with search, filters, drag reorder
- Allow Multiple with optional Min / Max selection limits
- WPML-aware titles — Available and Selected stay in the current admin language
- Taxonomy multi-select preserves pick order; optional Exclude Terms picker
- Taxonomy Min / Max when multiple is enabled
Builder & admin experience
- Drag-and-drop field builder with nested Sub Fields
- Location rules (post type, page template, taxonomy, role, and more)
- Conditional logic on fields
- Import / export field groups as JSON
- Post Types, Taxonomies, Site Sections, List Views, and Content Order
- Settings: Preferences, Field Usage Guide, Filters & Hooks reference
- Optional Classic Editor toggle and SVG upload control
- Onboarding checklist and in-plugin documentation
Multilingual & integrations
- qTranslate-X / qTranslate-XT — language buttons on text-like fields
- WPML + WooCommerce Multilingual — translate/copy custom fields; product sync with WCML
- Yoast SEO / Premium and Rank Math / Pro — custom field variables
- WooCommerce location rules for products
- WP All Import Pro / WP All Export Pro field exposure
- Elementor (Free + Pro) — Massoftind Dynamic Tags group
Template helpers
Use in your theme:
massoftind_fb_get()/massoftind_fb_update()massoftind_fb_have_rows()/massoftind_fb_the_row()/massoftind_fb_sub_field()massoftind_fb_image()/massoftind_fb_gallery()/massoftind_fb_the_gallery()massoftind_fb_terms()/massoftind_fb_date()and more
Optional template-compatibility aliases (get_field, have_rows, …) can be enabled in Settings for existing theme code.
Bricks Builder
When Bricks is active (Settings Bricks Dynamic Data on by default):
- Use
{mfb_field_name}in Dynamic Data (group Massoftind Field Builder) - Options:
{mfb_option:field_name} - Repeaters: Query Loop type Massoftind Repeater, set Meta Key to the repeater name, use
{mfb_row:sub_field}inside the loop - ACF Pro can stay installed —
{acf_…}tags are not changed; rebind templates to{mfb_…}only when migrating fields - Or deactivate ACF: with Bricks ACF tag alias (default on), existing
{acf_…}tags and ACF repeater query loops are resolved by Massoftind — no Bricks template edits
Elementor
When Elementor is active (Settings Elementor Dynamic Tags on by default):
- Open any widget control that supports Dynamic Tags group Massoftind Field Builder
- Tags: Massoftind Field (text), Image, URL, Gallery, Color, Number
- Source: Current post / term or Site Sections / Options
- Nested Group fields appear as
parent_childnames in the picker - Prefer these tags for new CMS builds; optional ACF shim still helps some Elementor Pro ACF widgets after migration
Privacy & third-party services
- Does not phone home or send site data to Massoftind
- YouTube fields may load thumbnails/embeds from YouTube only when configured — see YouTube Terms
- SVG uploads are off by default (Settings Allow SVG Uploads)
Optional companion
Works alongside Dynamic Content Builder for front-end listings. No other plugins are required to use Field Builder.
Capturi ecran





Instalare
- Upload the
massoftind-field-builderfolder to/wp-content/plugins/, or install via Plugins Add New Upload Plugin. - Activate Massoftind Field Builder.
- Open Field Builders in the admin menu.
- Create a field group, add fields, set location rules, and save.
- Edit matching content and use template helpers (or the developer panel snippets) in your theme.
Întrebări frecvente
-
Do I need another custom fields plugin?
-
No. Massoftind Field Builder is a standalone field builder with its own metabox UI, repeaters, and template helpers.
-
Can I try it before installing?
-
Where are field values stored?
-
As prefixed post meta. Field-group definitions use an internal custom post type.
-
How do I set a Link URL on a gallery image?
-
Open the Gallery field Edit on a thumbnail in Attachment Details set optional Link URL and Link Target. Values appear in Image Array as
external_urlandtarget. -
Can I limit how many items a Relationship or Taxonomy field allows?
-
Yes. Enable Allow Multiple, then set optional Minimum Selections and Maximum Selections (0 = no limit).
-
Can I move field groups between sites?
-
Yes. Use Tools Export and Import for JSON field-group definitions (and related Post Types / Taxonomies / Site Sections when present).
-
Is there a REST API?
-
Yes, optional. Enable under Field Builders Settings. Endpoints require authenticated users with the right capabilities.
-
Does this phone home?
-
No.
-
Does it work with qTranslate-X?
-
Yes. With qTranslate-X or qTranslate-XT, text-like fields use Language Switching Buttons. Helpers return the active language on the front end.
-
Does it work with Yoast SEO, Rank Math, WP All Import / Export?
-
Yes, when those plugins are active (SEO variables, sitemap exclusions, import/export field exposure).
-
Does it work with WPML / WooCommerce Multilingual?
-
Yes. Fields register for translate/copy; WCML product translation UI is supported. Override under WPML Settings Custom Fields Translation.
-
Does it work with Bricks Builder and ACF Pro?
-
Yes. Bricks Dynamic Data shows a Massoftind Field Builder group with
{mfb_field_name}tags. While ACF Pro is active, Bricks’{acf_…}tags stay native to ACF. After you deactivate ACF and import field JSON into Massoftind, enable Settings Bricks ACF tag alias (default on) so the same{acf_…}tags and ACF repeater loops keep working through Massoftind — no Bricks template or core edits. For repeaters you can also use Query Loop type Massoftind Repeater and{mfb_row:sub_field}. -
Does it work with Elementor?
-
Yes. With Elementor active, Dynamic Tags include a Massoftind Field Builder group (text, image, URL, gallery, color, number). Bind Heading, Image, Button, and Gallery widgets to your fields — including Site Sections / Options. Keep field names when migrating from ACF; use the Massoftind tags for a reliable CMS workflow (Elementor Pro’s ACF tags remain best-effort via the optional ACF shim).
Recenzii
Nu există nicio verificare pentru acest modul.
Contributori și dezvoltatori
„Massoftind Field Builder” este un software open-source. La acest modul au contribuit următoarele persoane.
ContributoriTradu „Massoftind Field Builder” în limba ta.
Te interesează dezvoltarea?
Răsfoiește codul, vezi depozitarul SVN, sau abonează-te la jurnalul de dezvoltare prin RSS.
Istoric modificări
1.9.170
- Compat: Content Order front-end menu_order hardened for Bricks/Elementor (respect explicit orderby), WPML (no term/product query changes), qTranslate untouched; opt-out via massoftind_fb_skip_content_order.
1.9.169
- Fix: Content Order applies
menu_orderon the front end for enabled post types (Custom Post Order parity) so themeWP_Queryloops no longer need a manualorderby. WooCommerce product queries stay untouched; term ordering remains admin-only (WPML-safe).
1.9.168
- Fix: Developer Panel snippets for Site Section–only groups now use
massoftind_fb_get( 'field', 'option' )(and matchingget_field/massoftind_fb_field) instead of post-context getters.
1.9.167
- Fix: Featured Image selection did not stick after Set/Update — core writes preview +
_thumbnail_idonly into#postimagediv; our stable metabox now receives the same HTML so the thumbnail saves and shows.
1.9.166
- Fix: Featured Image preview matched default WP look — our metabox id was missing core
#postimagedivimage max-width styles (full-width photo); constrain thumbnail to 266px sidebar size and show box header + Remove link like core.
1.9.165
- Fix: Featured Image missing again after 1.9.164 — 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.
1.9.164
- Fix: Featured Image opened the old thickbox uploader instead of the modern “Set featured image” modal — metabox id must be
postimagedivfor media-editor.js; enqueue media-editor and bind the modern frame.
1.9.163
- Fix: Featured Image missing on CPT edit screens only when Field Builder is active — after-title paint no longer triggers WP
already_sorted(which dropped side boxes); register Featured Image under our own metabox id sopostimagedivremovers cannot wipe it.
1.9.162
- Fix: Featured Image still missing on CPT UI screens after 1.9.161 — normalize WP_Screen args, force global theme post-thumbnails, re-add metabox on admin_head, block-editor-compatible box, print CSS directly.
1.9.161
- Fix: Featured Image still missing after 1.9.160 — re-add on
do_meta_boxes(when other plugins remove it), force for all custom show_ui post types, place box at high priority near Publish.
1.9.160
- Fix: Featured Image forced for all CPT UI post types (e.g. Image Galleries) — restores thumbnail support, theme post-thumbnails, re-adds metabox at late priority, and unhides postimagediv from Screen Options hidden list.
1.9.159
- Fix: Taxonomy Add form — Category Image (and other Field Builder media fields) now clear after AJAX “Add new category” (WordPress only cleared visible inputs).
- New: Taxonomy list table shows Image field thumbnails (e.g. Category Image column).
1.9.158
- Fix: Featured Image on CPT UI post types (e.g. Image Galleries) when Field Builder registered the CPT first without thumbnail — restore CPT UI Featured Image support, theme post-thumbnails, and force the classic editor metabox.
1.9.157
- Fix: Featured Image on CPT UI and other external post types — Set featured image metabox and button now work when Field Builder field groups are attached (not only for post types registered inside Field Builder).
1.9.156
- Fix: Gallery Logos UI — overlapping thumbs / stacked Edit× icons after reorder (jQuery UI Sortable + flex; also broken when gallery sits in a hidden meta tab).
- Fix: Gallery uses float layout, clears leftover absolute positioning, refreshes on meta-tab switch.
- Compat: Admin UI only — Bricks, Elementor, WPML, and qTranslate value/rendering paths unchanged.
1.9.155
- Fix: Gallery field — reordering images no longer leaves duplicate Edit/Remove icons; improved drag helper/placeholder.
- New: Repeater rows are drag-sortable via a grip handle (order saved on publish).
- Fix: Content Order — correct pagination offset when saving, more reliable sortable init, Quick Edit re-bind.
- Compat: Bricks, Elementor, WPML, and qTranslate paths unchanged.
1.9.154
- Fix:
get_field( $name, get_queried_object() )/massoftind_fb_get()acceptWP_Termobjects (ACF parity) so taxonomy term banners and term meta render on archives. - Compat: Bricks, Elementor, WPML, and qTranslate paths unchanged — term values still run through
massoftind_fb_format_value.
1.9.153
- Fix: Menu SVG icons — convert theme
<img class="menu_svg_image" src="….svg">to sanitized inline<svg>on the front end (no theme edit). Works even when Allow SVG Uploads is off. - Note: Allow SVG Uploads remains upload-only. Front-end menu inlining is separate.
1.9.152
- Fix:
get_field( $name, $item )/massoftind_fb_get()accept menu item objects (ACF parity) so Appearance Menus fields like Menu SVG resolve on the front end. - Fix: Template-compat post ID normalizer extracts
->IDfrom objects instead of falling back to the current page. - Fix: Image fields on
nav_menu_itemreturn a URL string (unless Return Format is Image Array) so existing<img src="' . $icon . '">theme filters work without edits.
1.9.151
- New: Elementor Dynamic Tags — Massoftind Field / Image / URL / Gallery / Color / Number group for CMS page building without ACF.
- New: Settings Elementor Dynamic Tags (on by default); source Current post/term or Site Sections / Options.
- Compat: Bricks, WPML, and qTranslate paths unchanged.
1.9.150
- New: Location rule Menu Item (
nav_menu) — attach fields to Appearance Menus items (ACF-compatible, e.g. Menu SVG). - New: ACF import maps
nav_menu/menu_item/nav_menu_itemlocation rules; values save asnav_menu_itempost meta forget_field( $name, $item_id )(Elementor Pro, Bricks, themes). - Compat: WPML menu-item duplicates disconnect on save; qTranslate still formats via existing
massoftind_fb_format_valueon get.
1.9.149
- Fix: Bricks loop
get_field()values run throughmassoftind_fb_format_valueagain (qTranslate[:lang]decode). - Fix: Stale Massoftind repeater context clears when Bricks starts a non-MFB query; container-root gating still blocks Our Story–style tag theft.
- Fix: Bricks text/link dynamic data applies the same format filter before shortcodes.
1.9.148
- Fix: Nested
have_rows( 'group_field' )inside a repeater/group (e.g.video_sectioninbanner_section) no longer drops associative group values — hero video loops work again.
1.9.147
- Fix: Bricks repeater loop tags like
{acf_item_repeater_item_heading}render again (Mission / Why Live Local empty boxes). - 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.
- Fix:
get_field()reads the active Bricks Massoftind loop row so Bricks’ native ACF provider gets sub-field values.
1.9.146
- Fix:
get_sub_field()keeps numeric attachment IDs (instead of converting them to arrays) when the sub-field definition is missing, sowp_get_attachment_image()works with Image ID return format. - Fix: Stronger repeater parent lookup when resolving nested image/file sub-fields.
- New:
massoftind_fb_attachment_image()/massoftind_fb_get_attachment_image()helpers that render SVGs and other attachments thatwp_get_attachment_image()skips.
1.9.145
- Fix: Bricks query loops no longer leave stale row context that steals later
{mfb_*}/ group field tags (e.g. Our Story after Mission/Vision). - Fix: ACF Star Rating Field import type
star_rating_fieldmaps to native Star Rating so admin no longer shows „This field type is not available.” - Fix: Bricks dynamic data for
star_ratingfields outputs star HTML instead of a bare number.
1.9.144
- Fix: WordPress shortcodes in Text/Textarea fields (e.g.
[current_year]) run throughdo_shortcode()when rendered in Bricks dynamic data and viamassoftind_fb_get().
1.9.143
- Fix: Bricks homepage/catalog sections empty when fields are on the front page but values live in Site Sections or legacy ACF Options keys — option fallback no longer blocked by front-page location rules.
- Fix: Resolve
{acf_*}in Bricks Heading/Text/Link element settings before render (catalog + service sections). - Fix: WPML-safe — post-only fields still never fall back to globals; legacy ACF option keys are detected before blocking.
1.9.142
- Fix: Bricks
{acf_*}Site Section / global fields resolve when called without:option—get_field()andget_field_object()now fall back to wp_options (footer, homepage sections, contact info). - Fix: Nested group sub-fields and underscore paths (
footer_connect_section_heading) read from Site Section option storage. - Fix: Option fallback is gated to Site Section fields only — post-assigned fields with empty meta stay empty (WPML per-translation). qTranslate still decodes via existing
massoftind_fb_format_valueon options.
1.9.141
- Fix: Bricks Logo/Image fatal (
preg_split(): array given) — remove earlyrender_taghook at priority 5 that returned image arrays before Bricks’ ACF provider runs. - Fix: Resolve dynamic logo image fields via
filter_element_settingson the Logo element.
1.9.140
- Fix: Bricks
{acf_*}dynamic tags render again — keep Bricks’ native ACF provider and resolve tags early via BricksSupport (1.9.139 had disabled the provider, leaving raw{ACF_…}in templates). - Fix: Site Section / options fields (footer globals) resolve by full field path, not only the first underscore segment.
For earlier releases, see the changelog.txt file bundled with the plugin.
