Upcoming Changelog: 6.4
The Font Manager has been optimized. As always, be sure to update the Total Theme Core plugin after updating the theme to avoid any potential issues.
- Added Alias option to the Font Manager, allowing you to assign a custom name—such as ‘primary-font’—to a font family. This alias will be used across theme settings and elements, making it easy to switch fonts later without manually updating each instance or performing a database search and replace.
- Added Meetup to the list of social profile options.
- Added Customizer option under General Theme Options > Lightbox tab: “Always Show Controls” By default, the script hides controls (arrows, thumbnails, close button, etc.) after 3 seconds of inactivity. Enabling this option will keep all controls visible at all times.
- Added Options to theme elements when set to open an image gallery in lightbox so you can can control the title and caption display.
- Added Event query types for the Post Cards element for use with the Tribe Events Plugin for easily displaying events.
- Added Option to the Post Cards element to select a specific “Series” to display events from when using Events Calendar Pro.
- Added Option to the Post Cards element when Events Calendar Pro is installed and using one of the dedicated Event Calendar query types named “Single Recurring Events”. The setting is enabled by default so only the next instance of each recurring event will display.
- Added Event card styles for use with the Tribe Events Calendar Plugin.
- Added Event date image overlays for use with the Tribe Events Calendar Plugin.
- Added On/off toggle to display only featured Tribe Events in the Post Cards.
- Added Option to the Total Taxonomy Terms widget that can be used to exclude terms.
- Added Option to the Navigation Bar element so you can stack the links at set breakpoint.
- Added Option to the Navigation Bar element to control the mobile select breakpoint.
- Added Options to the Icon Box to choose the button style, preset color and icon when displaying a button for the link.
- Added Option to the Icon Box to define the transition duration for hover animations.
- Added New “Bottom Icon (Below Button) style for the Icon box.
- Added A few more icon choices for the numbered pagination arrows (Customize > General > Numbered Pagination).
- Added A “Flex” layout option to the Navigation Bar element. This layout will convert the menu into a flex container which provides better rendering. Ideally this would be the default style, but it’s been added as a new option to prevent potential issues with users updating their site.
- Added The “WooCommerce Template” & “WooCommerce Notices” elements are now available in Elementor.
- Added An updates widget to the Theme Panel sidebar with a button that can be used to force check for theme updates (when license is active). This will send a new request to check for updates and clear the WordPress theme updates transient if an update is available. This new widget will also display any errors if there are problems fetching updates.
- Added Menu setting “Menu Icon Placement” for choosing if you want the icon before or after the text.
- Added Option to the Accessibility Panel to define the Top Bar menu aria label (default value is “Utility menu”).
- Added A validation check in the Font Manager to verify Google and Adobe fonts upon editing or saving. If a font fails to load correctly, an error message is now displayed at the top of the interface.
- Added Option to the Image Carousel & Post Cards Element (when used as a carousel) that can be enabled to horizontally center the items when there aren’t enough to fill up the row.
- Added An option to enable AJAX-based rendering for Post Cards. When activated, Post Cards will fetch content from the server via AJAX after the page has loaded. This feature helps bypass caching mechanisms, allowing dynamic content like time-sensitive events or random posts to be displayed.
- Updated The Font Manager to cache the list of fonts and improved the loading and registration of the fonts.
- Updated The Horizontal & Off-Canvas Menu elements to support the menu-button class.
- Updated The Navigation Bar when the style is set to “Expanded” to use the gap property for the spacing instead of side margin top prevent unwanted extra space on the side as items stack on smaller screens.
- Updated When setting a theme element’s “Link Type” to “Current Post” the theme now checks to ensure the single post is viewable, this way if you create a card for use on multiple post types with a button that goes to the post, the button will only show when applicable.
- Updated When creating an AJAXED filter using the Navigation Bar, links will no longer link to the taxonomy term archives to prevent issues with speculative loading.
- Updated The Video element’s “iFrame Title” field has been renamed to “Video Description”. This field is now used for the title attribute of embedded video iframes and the aria-label of self-hosted videos.
- Updated The Video element will use the video’s description as the aria-label for self hosted videos in your media library.
- Updated When displaying events from the Events Calendar plugin (Tribe Events) with the “Posts With Thumbnails” widget, the theme now uses the tribe_get_events() function to retrieve the events so they display in proper order.
- Updated Better accessibility and focus styles for the Fancybox lightbox popups.
- Updated Better accessibility for the Navigation Bar element when used as a filter.
- Updated The Icon Box Element so the border settings in the Style tab are available for all styles.
- Updated Navigation Bar links when used as a filter will now have a rel nofollow attribute to prevent unnecessary bot crawling of the filter links.
- Updated Total widgets that have exclude and include terms fields to support a list of term id’s or slugs.
- Updated You can now disable the Mega Menu Columns menu setting via the “Screen Options” tab in the menu dashboard.
- Updated The Font Manager to use a single metabox for all settings.
- Updated Theme elements where you can select a custom field as a link to display ACF text and email fields for use with the button element when creating clickable phone/email links.
- Updated The Theme Settings metabox with conditional logic to dynamically hide fields based on the values of other fields. For example, when the “Disable Footer” setting is enabled, all related footer settings that become irrelevant are now automatically hidden. To prevent any potential conflicts, this feature is only enabled for new installations (aka where the totaltheme_initial_version database option is >= 6.4).
- Updated The Meta class to include a new render_callback parameter, allowing the definition of a custom function for rendering the value of a custom field on the frontend.
- Updated The Newest Products section displayed on the empty cart page when using the WooCommerce Gutenberg cart block, so that it better matches the theme’s default product entry layout. This update is specifically for users who utilize the newer WooCommerce cart blocks instead of the classic cart shortcode.
- Fixed Issue with modal search not working correctly for non-Latin characters when displaying live results.
- Fixed The horizontal menu extra icons (search/cart/dark mode) were not vertically aligned in Safari.
- Fixed When setting a theme element’s “Link Type” to “Current Post” it now correctly returns the redirection URL if that post is using the “Redirect” field in the Theme Settings metabox.
- Fixed Tables missing top margin in the Gutenberg editor.
- Fixed Tables having extra bottom margin when added via Gutenberg.
- Fixed Modal Search (non ajaxed) design on small devices – the input and the buttons will now stack.
- Fixed When in dark mode the theme will automatically disable the fancybox light skin css file (when in use) so it can use the default dark skin.
- Fixed Debug warning related to total theme localization when saving the theme’s portfolio, staff or testimonials admin settings pages.
- Fixed When defining custom labels in the Contact Form element and using placeholders instead of labels the custom labels were not being used in the body of the received email.
- Fixed An issue where WPBakery failed to load in the backend when a Pricing element was added. This was caused by a bug in the latest version of the plugin, which required setting an empty default value for the custom button parameter.
- Fixed Issue where the header menu button’s horizontal padding was removed when using header style one, deprecated styles (theme panel option) and enabling the menu item underline on hover.
- Fixed When enabling the hover and active underline for the main menu it was being added to the dark mode toggle icon.
- Fixed The Users Grid widget was not displaying editors.
- Fixed You couldn’t select a custom card style for related posts when using the Post Types Unlimited plugin.
- Fixed The Just Events “Today’s Events” query was only displaying events that start and end today – rather than events that either start or end today.
- Fixed Cart icon was not working in the Cart Link Elementor widget.
- Fixed Display issues with the WooCommerce products Gutenberg block.
- Fixed An issue where specific CSS files were not automatically excluded from the W3 Total Cache plugin’s minification process, as required due to a known bug in the plugin.
Changes
- Added - New filter "totaltheme/searchform/args" allows easily modifying the args for the searchform.php file with the addition of 'search_param' so you can modify the search input name "s".
- Added - New CSS variables for the header menu underline element for easier modification and slimmer default CSS.
- Added - New "heading" type to the WPEX_Meta_Factory class.
- Added - New "hint" parameter for the WPEX_Meta_Factory class which will add a small description under the field.
- Added - New "sanitize_callback" parameter for the WPEX_Meta_Factory class so you can define a custom sanitization function for when the field is saved.
- Added - New "input_attrs" parameter for the WPEX_Meta_Factory text field type.
- Updated - For accessibility reasons, we've updated the top bar menu to use nav element around the ul.
- Updated - Optimized the loading of certain classes used in the admin so they aren't loaded if wp_doing_ajax returns true.
- Updated - Made some optimizations to the javascript used to trigger Fancybox in the theme (lightbox).
- Updated - When using the "reset" button in an advanced AJAX filter, it will be disabled by default and become available for use only after applying a filter, on reset it will become disabled again. If you were using a reset button in a custom filter, you should update your HTML to give it a disabled attribute by default as the attribute will get added whenever the button is clicked for the first time.
- Updated - The ajax filter script used to create custom Post Cards ajaxed filters to support new data types for use with the Events Calendar plugin (starts_before, starts_after, ends_before, ends_after, end_date, start_date, venue, organizer, featured, geoloc, geoloc_lat, geoloc_lng, ticketed).
- Updated - The ajax filter script used for custom Post Cards ajaxed filters to support date and datetime-local input types.
- Updated - The ajax filter script now supports select elements with options that each have their own data-vcex-type.
- Updated - The ajax filter script now supports a new data-vcex-type="tribe_events" filter type that accepts the following values: past, upcoming, ongoing or today.
- Updated - The ajaxed pagination links to include the "no-prefetch" class to prevent issues with speculative loading.
- Updated - The vcex-ajax JS script now uses the defer attribute for optimal loading.
- Updated - The Customize > Typography > Body settings are now added to the site using CSS variables so they can be easily re-used in your custom CSS.
- Updated - ACF fields added via PHP using acf_add_local_field_group now display in theme elements where you can select a custom field.
- Updated - The theme no longer overrides the WooCommerce single-meta.php file in order to add the 't-label' span to make the labels bold. With the recent addition of "Brands" it isn't possible to consistently apply the same span to brands so the theme now uses different CSS, without the added spans, to maintain the same design across all meta items.
- Updated - Updated Optimized the registration and loading of fonts registered via the Font Manager.
- Updated - Fonts loaded via the Font Manager no longer pass through various filters: wpex_google_font_enqueue_weights, wpex_google_font_enqueue_italics, wpex_google_font_enqueue_subsets, wpex_google_font_enqueue_display - since fonts added via the font manager have their own registration settings they shouldn't be mutable.
- Fixed - The table element had a fixed 20px bottom margin instead of using the "--wpex-el-margin-bottom" CSS variable.
- Fixed - The Theme Panel System Status Memory Limit was displaying a red background instead of green when the memory limit was set to unlimited (-1).
- Fixed - Fancybox lightbox images not having alt attributes.
- Fixed - Accessibility issues with the lightbox thumbnails.
- Fixed - The ticon shortcode was adding an empty font size via inline styles (wouldn't cause issues, but it's not necessary).
- Fixed - Dynamic singular templates created with Elementor were missing the custom-singular-template div elementor around the content.
- Fixed - Animation utility classes (spin, bounce, ping, pulse) are now disabled when reduce motion is enabled on the user's device.
- Removed - The WPEX_THEME_CHANGELOG_URL constant as it's not needed anywhere.
- Removed - The url_sort_prefix variable from the vcex_ajax_params js object as it wasn't used.
- Removed - The totaltheme-cards-builder-metabox js script as it's no longer needed.
- Removed - The troubleshoot button from the Theme License panel as it's no longer needed.
- Removed - The ability to dismiss the license activation notice in the WP admin.
New Hooks
totaltheme/searchform/args
totaltheme/topbar/menu/theme_location
totaltheme/togglebar/content
totaltheme/togglebar/is_enabled
totaltheme/togglebar/style
totaltheme/togglebar/content
totaltheme/togglebar/wrapper_class
totalthemecore/meta/main_metabox/has_conditional_logic
totalthemecore/vcex/integration/{$integration}/is_enabled
totalthemecore/vcex/post_query/query_type_choices
totalthemecore/vcex/{$element_name}/params
vcex_contact_form_mail_subject
vcex_contact_form_mail_headers