All notable changes to this theme will be documented in this file. The format is based on Keep a Changelog and uses semantic versioning.
- Refactored breadcrumbs and added the
cpt_breadcrumbs
filter hook.
- The modal dismiss button now has a screen reader text element within it for improved accessibility.
- Removed layout constraints from #site-footer so it's possible to use full-width widgets.
- Use built-in WP layout classes for .footer-meta.
- .is-content-justification-space-between utility class for group blocks.
- Added some padding to lists.
- Moved list spacing styles to theme.json
- Moved list item marker styles to _blocks.scss
- Refactored the menu
- Replaced the wonky + symbol for drop-down menus with an SVG.
- Increased the size of the submenu dismiss button on mobile and aligned it with the card padding.
- Increased the spacing between menu items on mobile.
- Disabled default font sizes.
- Fixed secondary gradient.
- Fixed indentation of settings.typography.fontFamilies[0].fontFace in theme.json.
- Increased padding on archive descriptions and make the block group full-width.
- Increased menu gaps.
- Set the default bottom margin for headings (block and element) to the default font size.
- Doesn't output a .term-description container if the term description is empty.
- Added term descriptions to the index template with a background to set it off from the list of posts.
- Adjusted font size and spacing of comments.
- Added a blog breadcrumb to category, tag, and taxonomy archives.
- Changed all CSS grid-gap properties to gap.
- Changed site header layout from grid to flex, which also helped fix the below issues with the menu collapser.
- Now the menu collapser only runs when the DOM is ready, not before.
- Added a .15em offset to link underlines.
- CTA no longer stretches to the full width of the menu container when there is no primary menu selected (fix for issue #21).
- Menu now collapses gradually instead of all at once (fix for issue #15).
- Fixes submenu dismiss button overlay alignment on drop-down menus.
- Breadcrumbs for custom post types now include the post type archive instead of the blog page (fix for issue #16).
- Reduce left padding on lists.
- Align CTA text in the center of the button.
- Switch to add_option() for setting default options to avoid resetting options set to false.
- In cases where the page was empty or had very little content the page would not fill the vertical height of the browser. Fixed by using flex to stretch the page content to fill the browser height.
- Remove padding from image blocks styled as cards.
- Move widget styles to /assets/scss/frontend.scss.
- Reduced the block gap in the buttons block.
- Specified a heading color.
- The script that adds necessary styles to the post editor's root container was not working the same on post-6.3 installs because since 6.3 WordPress loads the post editor in an iframe. And the iframe does not always load before enqueued Javascript files, so the fix required some additional conditions. This should address most of the likely scenarios for pre* and post-6.3 installs so that the post editor contains the
.has-global-padding
and.is-layout-constrained
classes but not.is-layout-flow
so that it behaves like the.entry-content
element on posts and pages. Also shared on StackOverflow where I initially found the clue to my solution. - Cite styles now work properly in theme.json.
- Pullquote customizations.
- Added padding and a border to quote blocks.
- The page template now hides the page header (title) on the front page.
- The page template does not output the page header if the first block on the page is a cover block or a group block with a cover block as the first inner block.
- Added /assets/js/admin-editor-classes.js to add the correct classes to the block editor root container.
- Name updated to Client Power Tools Theme since there are also several Client Power Tools plugins.
- Simplify CTA modal functionality and styling.
- Customizations for the Client Power Tools Portal plugin if it is installed and active.
- The Call to Action modal animation now works.
- Eliminate modal dismiss button padding.
- Refinements to the menu collapser script so it runs faster and more efficiently, and so it looks better when it runs.
- Remove the submenu screen when no submenu modal is open.
- Lots of menu and modal stylesheet cleanup, refinement, and simplification.
- The call-to-action modal and the submenus on mobile now function similarly, and can be dismissed by clicking outside the modal or using the escape key.
- Changed bylines from clunky echo statements to translation-friendly printf statements.
- Moved box-shadow and text-shadow variables to theme.json settings.shadow so they are easier to update in a child theme.
- Moved border styles to theme.json settings.custom so they are easier to update in a child theme.
- Continue migrating block and element styles from CSS to theme.json.
- Remove button block styles.
- Remove wp-block-styles.
- Sticky menu no longer attempts to be sticky when the window width is 600px or less. This aligns with the width at which the WordPress admin bar is no longer position: fixed.
- Previously the mobile menu would not work properly on some mobile devices (like Chrome for Android). Now it works properly. All hover states have been replaced by clicks to open and close.
- At mobile widths dropdown menus now open as full-screen modals.
- The escape key now closes dropdown menus. So do clicks outside the dropdown menus.
- Footer widget breakpoints were messing up blocks' built-in breakpoints.
- Single posts now show the date published and, if modified, the date the post was last modified.
- Due to the way WordPress now handles fonts, it is no longer practical to select a font on the theme options page. Instead, fonts must be downloaded and added to the theme using theme.json. This is less user-friendly but is necessary to maintain compatibility. (See https://fullsiteediting.com/lessons/theme-json-typography-font-styles/ for more information.)
Steps to add a font in your child theme:
- Download the font files in woff2 format. (The Google Webfonts Helper is especially useful for this.)
- Add the font files to /assets/fonts/font-slug in your child theme folder. Don't forget the font license!
- Copy settings.typography.fontFamilies and styles.typography.fontFamily frtom the parent theme.json to the child theme's theme.json.
- Update the child theme's theme.json to use your font files.
- Colors are also now solely managed in theme.json.
- /fonts/albert-sans
- /common/fonts.php, along with the google_fonts filter.
- Font options.
- Non-CTA color options (the CTA colors can stay in the theme options for now, at least).
- Added horizontal padding to .alignfull and .alignwide blocks with backgrounds.
- Un-fluid the normal text size.
- Restored some necessary styles for footer widgets.
- Button hover color.
- Removed the page header's bottom margin when there is a cover block.
- site_logo_size filter.
- core/post-title block styling in theme.json.
- Updated deprecated get_currentuserinfo() to wp_get_current_user().
- 404 page template.
- Removed top margin from .site-main.
- Removed unnecessary site content containers.
- Further tweaks to make block spacing more predictable.
- Enabled appearance tools in the block editor.
- Updated font sizes to use fluid typography.
- Eliminate theme.json properties that merely restate the defaults.
- Restructure layout to use root padding aware alignment. This means all containers now use .has-global-padding and .is-layout-constrained.
- Fixed header not resizing at mobile widths.
- Move menu to the right of the call to action when wrapped under the site title/logo.
- Change menu icon.
- Added blog page to archives and post pages.
- Fixed font sizing.
- Fix nested block potitioning when set to alignwide or alignfull.
- Reverted right-left padding to blocks within .alignfull blocks (see 2.4.11).
- Excluded span and img tags from alignfull max width.
- Add default right-left padding to blocks within .alignfull blocks. REVERTED in 2.4.13.
- Gradients based on the primary and secondary colors.
- Update heading and caption line heights.
- Add $text-shadow variable and add text shadows to cover block text.
- Removed the page date.
- Fixed a CSS variable in theme.json.
- Moved the .has-cover class to the body tag.
- Added a global :default style.
- Removed the default X from search fields with text entered for Chrome and IE.
- Set the secondary menu to wrap over lines instead of going off into Narnia.
- Refinements to blog, archive, and search index layout.
- theme.json updates.
- More layout refinements.
- Further layout refinements.
- Removed Javascript from the menu and made it CSS-only.
- Switched to using the global content-size and wide-size CSS variables.
- Modified alignwide and alignfull layout styles.
- Switched from using custom spacing sizes to a custom spacing scale.
- Adjusted layout elements for greater compatibility.
- Extra check when parsing blocks.
- Drop-down menus now work without Javascript.
- Renamed some SCSS variables for consistency.
- Customized block gap, spacing sizes, and enable margins and padding in theme.json.
- Don't output the title on pages where the first block is a cover.
- Show the read-more link as a small button.
- Support for cover-style featured images.
- Links pointing to
#cpt-cta
will also trigger the call-to-action modal.
- Fixed a bug in the call-to-action modal that prevented the modal from being shown.
- Reset sticky nav menu position when it reaches the top.
- Added a max width to form elements.
- Added button class to comment form submit button.
- Set default button background-color to inherit.
- Comment form and comment templates.
- Set the line height for non-block buttons.
- Restore pointer events to header menu items with children.
- Refine comment templates and styling.
- Sticky nav menu option now works properly.
- Preheader.
- Added a sticky header option.
- Enable blockGap in theme.json.
- Move custom font sizes from settings to presets in theme.json.
- Page numberings in breadcrumbs.
- Style page numbering for singular posts.
- Re-organize stylesheets.
- Breadcrumbs for the blog no longer show / Blog / Blog.
- Adjusted CTA modal sizing.
- Updated search form in page templates.
- Don't show the secondary menu container if the secondary menu isn't on.
- Show a breadcrumb for the blog page when the front page (home) is set to a page.
- Added .site-header-primary-nav__inner, .site-header-secondary-nav__inner, .site-content__inner, and .site-footer__inner elements to make it easier to adjust the layout.
- Rename style and script functions and files.
- Moved around a bunch of stylesheets.
- Updated SCSS variables.
- Move breadcrumbs code to its own file.
- Increase button padding.
- Removed non-essential :visited and :focus declarations.
- Streamlined and minimized styles.
- Fixed modal dismiss-button size and color.
- google_fonts filter.
- Adjusted menu item spacing.
- Prevented double-loading stylesheet components.
- CPT_THEME_VERSION constant.
- Moved stylesheet and script registration to functions.php.
- Custom block styles are now loaded on both the front and back end.
- Improvements to custom block styles.
- Rename styles and scripts to avoid conflicts.
- Links in the content now have a light underline for clarity.
- Restyle menu items with children in the collapsed menu.
- Editor stylesheet removed.
- Changed add_submenu_page() to add_theme_page().
- Removed trailing commas in function calls in /admin/options.php.
- Removed output buffering in /admin/options.php.
- Escaped output throughout.
- Change inline SVG elements to HTML elements with background images.
- theme.json now contains colors, fonts, and more.
- Developer credit in the footer.
- All drop-down menus are now animated. (As opposed to just the primary menu.)
- Adjust block element line heights. (Exclude cite from blockquote line height.)
- Remove + from collapsed menu items with children.
- Added and implemented spacing variables.
- Reworked the menu so that hover actions work better across touch devices. Plus, animations!
- Simplify the menu collapser function so it is showing/hiding the collapsed menu items instead of adding and removing it.
- Simplify the call-to-action modal Javascript.
- Move CSS animations to their own file.
- Changed add_theme_support('align-full') to add_theme_support('align-wide').
- Changed menu container measurement from scrollWidth to offsetWidth in menus.js.
- Fix primaryMenuCollapser() so it actually collapses the menu on load.
- Adjusted page navigation formatting.
- Removed overflow: scroll from modal cards.
- Fixed clearing and gallery block formatting.
- Fixed menu collapser function.
WARNING: This update probably breaks child themes based on version 1.x because lots of tags and styles have changed. Do not update the Client Power Tools Theme on a live site.
- Removed namespaces and references.
- Added trailingslashit() to constants and changed every reference to them.
- Restructured the header and updated it with semantic tags. Updated styles to match.
- Removed the sidebar page template.
- Added an editor stylesheet, and added theme fonts to the admin.
- Moved a lot of things around
- Configure for NPM and SASS.
- Prevent Jost from loading if the Client Power Tools plugin is active.
- Restructured the layout elements.
- Recalculate the type scale.
- Align first menu item in the secondary menu with the left side so that it doesn't run off the screen.
- Remove bottom margin from menu items.
- Adjust modal box-sizing property so the max-height property functions as intended.
- Modal call to action that can display shortcodes and embed codes.
- Modal dismiss button (fades out modals).
- Add align-wide support.
- Fix header menu so items align to the right and don't stretch to fill the container along either axis.
- Fix the header collapse script to accommodate the above fix.
- Menu collapser script clarified and consolidated.
- Everything