jfb-settings-tab
JetFormBuilder: register a custom settings tab
JetFormBuilder ships with its own Vue-based admin Settings page. Companion plugins should not create separate add_options_page() screens — they should plug into the JFB Settings page as a tab. This skill describes the official API for doing so.
API stability note
The Base_Handler PHP API and the jet.fb.register.settings-page.tabs JS filter described here are stable across the entire JFB 3.x line and have not had breaking changes in the version range observed. The cx-vui-* Vue components are also stable. The plugin-version-tested field in the frontmatter records only the version where this skill was last verified end-to-end — treat it as "this skill was confirmed accurate on at least this version", not as "this is the only version where it works". Almost certainly this skill applies to JFB 3.0+ unchanged. If you encounter a JFB version where any step here is wrong, please file an issue and bump the field — don't silently work around it.
The flow has two halves that must both be implemented:
- PHP side — a
Base_Handlersubclass for persistence + thejet-form-builder/register-tabs-handlersfilter to register it. - JS side — a Vue component + the
jet.fb.register.settings-page.tabsJS filter (viawp.hooks.addFilter) to render it.
Skip either half and the tab silently won't appear or won't save.