Releases: fronttheme/themeplus
Releases · fronttheme/themeplus
ThemePlus v1.0.0 — Initial Release
Added
- 30 field types — Text, Textarea, Number, Spinner, Slider, Select, Button Set, Radio, Checkbox, Select Image, Toggle, Color Picker, Gradient Picker, Image, Gallery, Icon, Typography, Dimensions, Spacing, Border, Info, Section, Raw, Shortcode, Date Picker, Social Media, Code Editor, Repeater, Background, Link, Group
- React-powered admin UI built with
@wordpress/elementand WordPress Components - Full white-label support via
themeplus_framework_config()— rename menu, slug, icon, option key - Sections and subsections with priority-based ordering and
themeplus_add_subsection()API - Conditional logic with 10 operators (
==,!=,>,<,>=,<=,contains,!contains,empty,!empty) and AND/OR multiple conditions - Google Fonts integration — 1,899 fonts with live preview inside the Typography field
- Custom Fonts module — upload and manage self-hosted fonts (WOFF2, WOFF); magic-byte verified,
@font-facegenerated automatically - Import/Export settings — backup and restore all theme options as JSON with one click
- REST API under
themeplus/v1namespace — get options, save options, reset all, reset section, get config - Developer Panel (dev mode only) — field metadata, current values, PHP data types, and copy-ready code snippets
- Live field search across titles, subtitles, descriptions, and IDs
- Dark and light mode — respects WordPress colour scheme with a manual toggle
- Unsaved changes detection — warns before navigating away
- Helper functions —
themeplus_get_option(),themeplus_update_option(),themeplus_is_active(),themeplus_get_version() - Config functions —
themeplus_add_section(),themeplus_add_subsection(),themeplus_get_sections(),themeplus_get_section(),themeplus_get_all_fields() - Full i18n/l10n support with
.potfile included - Hybrid build system — Vite 7 for SCSS with HMR, webpack/
@wordpress/scriptsfor React/JSX ThemePlus_Sanitizer— per-field-type sanitization; unknown keys dropped, values validated against registered field configsample-config.php— copy-and-customize configuration template for theme developersSECURITY.md,CONTRIBUTING.md,.distignore,.gitattributesfor repository hygiene
Fixed (pre-release audit)
- Font upload magic-byte verification now correctly rejects files with mismatched bytes
- REST API permission check honors configured capability (
edit_theme_options) instead of hardcodedmanage_options - Font MIME types gated behind configured capability — previously added for all uploaders
- Stale
useStatein eight fields (Link, Social, Background, Spacing, Gallery, DatePicker, Repeater, Group) — all now derive from props for correct Reset/Import behavior without page reload - App.jsx forced re-render workaround removed — fields derive from props correctly
- Dev Panel conditional parser handles all five dependency formats
- Search tokenized matching includes section/subsection titles and field type in haystack
highlightTextregex escape prevents crash on special characterscontains/!containsuses loose equality consistent with==operator- DatePicker Dropdown deprecation —
positionprop replaced withpopoverProps.placement - Framework config i18n — variable text domain replaced with literal; strings now extractable by WP.org translation system
- Font CSS output escaping — family names sanitized, URLs escaped at build time in
generate_font_face() save_optionsempty payload guard —&&corrected to||preventing accidental options wipeclean_admin_pageuses exact screen ID match instead of substring checkload_plugin_textdomain()removed — auto-loaded by WordPress since 4.6sample-config.phpexample function renamed tothemeplus_sample_get_option