Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Changelog

## 3.2.1 — 2026-09-13

Upgrade QA follow-up to 3.2.0. Updating an existing site no longer replaces its header and footer layout.

- Restore the 3.1.0 header and footer under the `flexia/header` and `flexia/footer` slugs, so existing sites keep their chrome on update. The 3.2 native-identity chrome remains available as the new `flexia/header-minimal` and `flexia/footer-minimal` patterns.
- Give the minimal header's navigation an explicit page-list fallback so it no longer resolves to an unrelated saved menu.
- Lay the minimal header out without wrapping, keeping WooCommerce's account and mini-cart icons on the logo and menu row.
- Stop underlining button-shaped links inside post content, including WooCommerce's "Proceed to Checkout" button.
- Correct the 3.2 migration note: a database-saved header/footer part that only references a pattern still follows the theme's current pattern.

## 3.2.0 — 2026-09-13

Update from the public 3.1.0 release. Requires WordPress 6.6 or later; tested up to WordPress 7.1.
Expand Down
5 changes: 3 additions & 2 deletions assets/css/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -563,5 +563,6 @@ ol.wp-block-comment-template ol .wp-block-columns {
scroll-behavior: auto !important;
}
}
.wp-block-post-content a { text-decoration: underline; }
.wp-block-post-content a:hover { text-decoration-thickness: 2px; }
/* Body links are underlined, but button-shaped links are not. */
.wp-block-post-content a:not(.wp-element-button):not(.wp-block-button__link):not(.wc-block-components-button) { text-decoration: underline; }
.wp-block-post-content a:not(.wp-element-button):not(.wp-block-button__link):not(.wc-block-components-button):hover { text-decoration-thickness: 2px; }
2 changes: 1 addition & 1 deletion docs/MIGRATION-3.2.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Back up the database and theme/plugin files, then test on a staging clone. WordP
- **Home/blog:** home.html is now a posts index. For the previous agency layout, insert the Agency landing page pattern into a page and choose that page as the static front page in Reading settings. It is no longer forced onto the posts index.
- **Archives/sidebar:** archives inherit the requested category/date/author and pagination. Single-with-sidebar renders the selected post body and comments, rather than a latest-post list.
- **Commerce:** archive-product.html supplies the actual catalog override. The old woocommerce custom-template filename remains as an alias for existing assignments. Related products now use WooCommerce's current-product context.
- **Site identity:** configure your Site Logo, Site Title and Navigation. Default chrome no longer contains vendor demo contact links or signup links. Existing database-saved header/footer parts remain untouched.
- **Site identity:** the default header and footer keep their 3.1.0 layout under the `flexia/header` and `flexia/footer` slugs, so upgrading does not change site chrome. Note that a database-saved header/footer part whose content is only a `wp:pattern` reference still resolves to the theme's current pattern, so preserving the saved record is not by itself enough to preserve the rendered layout. The native-identity chrome ships alongside as `flexia/header-minimal` and `flexia/footer-minimal`; apply either from the Site Editor to replace the vendor demo contact and signup links with your own Site Logo, Site Title and Navigation.
- **Styles:** theme.json v3, accessible palette updates, shared editor CSS, focus/touch behavior and reduced motion may change appearance. Compare default/dark/orange variations and any child styles before rollout. No existing style/pattern slug is intentionally removed.
- **Fonts:** missing DM Sans files are replaced by an explicit system fallback under the old preset slug. Missing Inter weights are no longer declared. Existing Sora/Inter files are served as WOFF2; old TTF URLs remain available. If exact typography is contractual, review those presets before updating.

Expand Down
2 changes: 1 addition & 1 deletion functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
}

define( 'FLEXIA_DEV_MODE', false );
define( 'FLEXIA_VERSION', '3.2.0' );
define( 'FLEXIA_VERSION', '3.2.1' );
define( 'FLEXIA_SLUG', 'flexia' );
define( 'FLEXIA_NAME', 'flexia' );
define( 'FLEXIA_DIR_PATH', get_template_directory() );
Expand Down
12 changes: 12 additions & 0 deletions patterns/footer-minimal.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?php
/**
* Title: Footer (minimal)
* Slug: flexia/footer-minimal
* Categories: flexia, footer
*/
if ( ! defined( 'ABSPATH' ) ) { exit; }
?>
<!-- wp:group {"style":{"spacing":{"padding":{"top":"var:preset|spacing|40","bottom":"var:preset|spacing|40"}}},"layout":{"type":"constrained"}} -->
<div class="wp-block-group" style="padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)"><!-- wp:separator /-->
<!-- wp:group {"align":"wide","layout":{"type":"flex","justifyContent":"space-between","flexWrap":"wrap"}} --><div class="wp-block-group"><!-- wp:site-title {"level":0} /--><!-- wp:site-tagline /--></div><!-- /wp:group -->
</div><!-- /wp:group -->
116 changes: 106 additions & 10 deletions patterns/footer.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,108 @@
<?php
/**
* Title: Footer
* Slug: flexia/footer
* Categories: flexia, footer
*/
if ( ! defined( 'ABSPATH' ) ) { exit; }
/**
* Title: Footer
* Slug: flexia/footer
* Categories: flexia, footer
*/

if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<!-- wp:group {"style":{"spacing":{"padding":{"top":"var:preset|spacing|40","bottom":"var:preset|spacing|40"}}},"layout":{"type":"constrained"}} -->
<div class="wp-block-group" style="padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)"><!-- wp:separator /-->
<!-- wp:group {"align":"wide","layout":{"type":"flex","justifyContent":"space-between","flexWrap":"wrap"}} --><div class="wp-block-group"><!-- wp:site-title {"level":0} /--><!-- wp:site-tagline /--></div><!-- /wp:group -->
</div><!-- /wp:group -->
<!-- wp:group {"style":{"spacing":{"padding":{"top":"120px","left":"20px","right":"20px","bottom":"var:preset|spacing|30"}}},"backgroundColor":"dark-background","layout":{"type":"constrained"}} -->
<div class="wp-block-group has-dark-background-background-color has-background" style="padding-top:120px;padding-right:20px;padding-bottom:var(--wp--preset--spacing--30);padding-left:20px"><!-- wp:columns {"align":"wide","style":{"spacing":{"blockGap":{"left":"var:preset|spacing|40"}}}} -->
<div class="wp-block-columns alignwide"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:group {"layout":{"type":"constrained"}} -->

<div class="wp-block-group"><!-- wp:image {"width":"128px","height":"auto","sizeSlug":"full","linkDestination":"none","style":{"color":{"duotone":"var:preset|duotone|secondary"}}} -->
<figure class="wp-block-image size-full is-resized"><img src="<?php echo esc_url( get_theme_file_uri( "/assets/images/logo.png" ) ); ?>" alt="" class="" style="width:128px;height:auto"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph {"style":{"elements":{"link":{"color":{"text":"var:preset|color|body-alt"}}}},"textColor":"body-alt"} -->
<p class="has-body-alt-color has-text-color has-link-color"><?php echo esc_html_x( 'Empower your Brand & Captivate your Audience With MultiGency right away and Boost your Business.', 'Message to convey footer content', 'flexia' ); ?></p>
<!-- /wp:paragraph -->

<!-- wp:social-links {"customIconColor":"#8f959f","iconColorValue":"#8f959f","customIconBackgroundColor":"#162747","iconBackgroundColorValue":"#162747","size":"has-normal-icon-size","style":{"spacing":{"blockGap":{"left":"16px"}}},"className":"is-style-flexia-social-rounded"} -->
<ul class="wp-block-social-links has-normal-icon-size has-icon-color has-icon-background-color is-style-flexia-social-rounded"><!-- wp:social-link {"url":"#","service":"facebook","label":"fb","rel":""} /-->

<!-- wp:social-link {"url":"#","service":"twitter","label":"","rel":""} /-->

<!-- wp:social-link {"url":"#","service":"linkedin"} /-->

<!-- wp:social-link {"url":"#","service":"instagram"} /-->

<!-- wp:social-link {"url":"#","service":"youtube"} /--></ul>
<!-- /wp:social-links --></div>
<!-- /wp:group --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:columns {"isStackedOnMobile":false} -->
<div class="wp-block-columns is-not-stacked-on-mobile"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading {"style":{"elements":{"link":{"color":{"text":"var:preset|color|white"}}}},"textColor":"white","fontSize":"x-medium"} -->
<h2 class="wp-block-heading has-white-color has-text-color has-link-color has-x-medium-font-size"><?php echo esc_html_x( 'Product', 'Message to convey footer content', 'flexia' ); ?></h2>
<!-- /wp:heading -->

<!-- wp:navigation {"textColor":"body-alt","overlayMenu":"never","layout":{"type":"flex","orientation":"vertical"},"style":{"spacing":{"blockGap":"10px"}},"fontSize":"medium","fontFamily":"inter"} -->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Features', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Pricing', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Case Studies', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Reviews', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Updates', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- /wp:navigation --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading {"textColor":"white","fontSize":"x-medium"} -->
<h2 class="wp-block-heading has-white-color has-text-color has-x-medium-font-size"><?php echo esc_html_x( 'Company', 'Message to convey footer content', 'flexia' ); ?></h2>
<!-- /wp:heading -->

<!-- wp:navigation {"textColor":"body-alt","overlayMenu":"never","layout":{"type":"flex","orientation":"vertical"},"style":{"spacing":{"blockGap":"10px"}},"fontSize":"medium","fontFamily":"inter"} -->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'About', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Contact Us', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Careers', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Culture', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Blog', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- /wp:navigation --></div>

<!-- /wp:column --></div>
<!-- /wp:columns --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:columns {"isStackedOnMobile":false} -->
<div class="wp-block-columns is-not-stacked-on-mobile"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading {"textColor":"white","fontSize":"x-medium"} -->
<h2 class="wp-block-heading has-white-color has-text-color has-x-medium-font-size"><?php echo esc_html_x( 'Support', 'Message to convey footer content', 'flexia' ); ?></h2>
<!-- /wp:heading -->

<!-- wp:navigation {"textColor":"body-alt","overlayMenu":"never","layout":{"type":"flex","orientation":"vertical"},"style":{"spacing":{"blockGap":"10px"}},"fontSize":"medium","fontFamily":"inter"} -->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Getting Started', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Help Center', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Server Status', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Report a bug', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- /wp:navigation --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading {"textColor":"white","fontSize":"x-medium"} -->
<h2 class="wp-block-heading has-white-color has-text-color has-x-medium-font-size"><?php echo esc_html_x( 'Downloads', 'Message to convey footer content', 'flexia' ); ?></h2>
<!-- /wp:heading -->

<!-- wp:navigation {"textColor":"body-alt","overlayMenu":"never","layout":{"type":"flex","orientation":"vertical"},"style":{"spacing":{"blockGap":"10px"}},"fontSize":"medium","fontFamily":"inter"} -->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'IOS', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Android', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Mac', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- wp:navigation-link {"label":"<?php esc_html_e( 'Windows', 'flexia' ); ?>","url":"#","kind":"custom","isTopLevelLink":true} /-->
<!-- /wp:navigation --></div>
<!-- /wp:column --></div>
<!-- /wp:columns --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

<!-- wp:group {"align":"wide","style":{"border":{"top":{"color":"#202124fa","width":"1px"},"right":{},"bottom":{},"left":{}},"spacing":{"padding":{"top":"var:preset|spacing|30"},"margin":{"top":"var:preset|spacing|50"}}},"layout":{"type":"flex","flexWrap":"nowrap","justifyContent":"center"}} -->
<div class="wp-block-group alignwide" style="border-top-color:#202124fa;border-top-width:1px;margin-top:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--30)"><!-- wp:paragraph {"align":"center","textColor":"body-alt"} -->
<p class="has-text-align-center has-body-alt-color has-text-color"><?php echo esc_html_x( '© Copyright by WPDeveloper', 'Message to convey footer content', 'flexia' ); ?></p>
<!-- /wp:paragraph --></div>
<!-- /wp:group --></div>
<!-- /wp:group -->
16 changes: 16 additions & 0 deletions patterns/header-minimal.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php
/**
* Title: Header (minimal)
* Slug: flexia/header-minimal
* Categories: flexia, header
*/
if ( ! defined( 'ABSPATH' ) ) { exit; }
?>
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|20","bottom":"var:preset|spacing|20"}}},"layout":{"type":"constrained"}} -->
<div class="wp-block-group alignfull" style="padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)">
<!-- wp:group {"align":"wide","layout":{"type":"flex","justifyContent":"space-between","flexWrap":"nowrap"}} -->
<div class="wp-block-group alignwide"><!-- wp:group {"layout":{"type":"flex","flexWrap":"nowrap"}} --><div class="wp-block-group"><!-- wp:site-logo {"width":140} /--><!-- wp:site-title {"level":0} /--></div><!-- /wp:group -->
<!-- wp:navigation {"overlayMenu":"mobile","layout":{"type":"flex","justifyContent":"right","flexWrap":"nowrap"}} -->
<!-- wp:page-list /-->
<!-- /wp:navigation -->
</div><!-- /wp:group --></div><!-- /wp:group -->
Loading
Loading