
Shapely is a powerful and versatile one page WordPress theme with pixel perfect design and outstanding functionality. It ships a large set of customization options for a free theme, all of them in the WordPress Customizer. This theme comes with several homepage widgets that can be used to add portfolio, testimonials, parallax sections, your product or service information, call for action, and much more.
Shapely supports most free and premium WordPress plugins, including WooCommerce, Jetpack, Gravity Forms, Contact Form 7, Yoast SEO, Google Analytics, and many more. Needless to say, that theme is mobile-friendly and responsive, which makes it look stunning on any device.
This theme is best suited for business, landing pages, portfolios, eCommerce stores, local businesses, and personal websites, but can be tweaked to be used on a blog, magazine, or any other awesome website, while highlighting its unique one-page setup.
Shapely works with all the most popular WordPress page builder plugins such as Elementor or WPBakery Page Builder. Shapely is still actively maintained: version 1.2.20 shipped on 5 August 2026 and is tested against WordPress 7.0.
- Version: 1.2.20
- Last updated: 5 August 2026
- Tested up to: WordPress 7.0
- Requires: WordPress 6.4 or later · PHP 7.4 or later
- Active installations: 10,000+
- Rating: 4.6 out of 5 from 67 reviews on WordPress.org
- Total downloads: 1,492,872
- View on WordPress.org
= 1.2.20 =
- PHP 8.5 compatibility: removed every runtime deprecation and warning raised by the theme
- Verified on WordPress 7.0.2 / PHP 8.5: zero PHP notices across all templates, the customizer, the welcome screen and the block editor
- Verified alongside the Shapely Companion plugin (1.2.10): homepage widget sections, parallax, features, call-to-action and contact all render with zero PHP notices
- Replaced the Grunt build with plain npm scripts (tools/*.mjs): eliminates all 39 npm audit findings (1 critical, 24 high), which came entirely from grunt-contrib-imagemin and grunt-contrib-compress
- Replaced JSHint and the deprecated JSCS with ESLint 10; added Stylelint 17 for CSS
- Fixed the release zip shipping developer files: CLAUDE.md, .scss sources, README.md, tsconfig.json, webpack.config.js and a nested package.json were all being published to users
- Fixed image optimisation never running: the Grunt task was pointed at assets/img/, which does not exist (the images are in assets/images/)
- languages/shapely.pot is now generated with WP-CLI and filtered to the shapely text domain, dropping 83 epsilon-framework strings that could never be translated through it and picking up 19 theme strings the old task missed
- Replaced the dead Travis CI config with GitHub Actions covering PHP 7.4 through 8.5
- package-lock.json and phpcs.ruleset.xml are now tracked instead of gitignored
- Fixed the "Requires at least" header reading "WordPress 6.4" instead of "6.4". The stray prefix made WordPress’ minimum-version check pass on every release, so the theme could be activated on WordPress 4.9 where it would fatal
- Added the missing "Domain Path: /languages" header
- …and 37 further changes
= 1.2.19 =
- Fixed Builder Page template functionality that wasn’t working properly
- Added proper initialization for the Shapely_Builder class
- Removed debug code and improved code quality
- Enhanced widget area registration for Builder Page templates
- Fixed issues with dynamic sidebar registration for Builder Pages
- Improved error handling in theme template files
= 1.2.18 =
- Fixed issue with "Import Demo Content" functionality
- Added proper null checks in contact form widget to prevent PHP warnings
- Improved error handling in demo content importer
- Enhanced AJAX response handling for better user feedback
- Fixed static frontpage setting during demo import
= 1.2.14 =
- Breadcrumbs Support For Rank Math Plugin Fix php 8.0 deprecation issue and more
= 1.2.13 =
- Bug fixed issue #271 updated font awesome to 5 Merged with wpChill
= 1.2.12 =
- Improves : Escaping
= 1.2.11 =
- Compatibility with jQuery 3.0
= 1.2.10 =
- Updated dependacies Tested with WP 5.6
== Changelog ==
= 1.2.17 =
* Added a new customizer setting to control placeholder images for posts without featured images
* Added an option to upload custom placeholder images
* Added a global setting to show/hide categories across all blog layouts
* Improved customizer UI with clearer section headings for blog hero image
* Fixed issue with WP_Customize_Control class loading
* Added custom CSS for better visual separation in customizer settings
* Fixed compatibility issues with WordPress 6.8
= 1.2.0 =
* Implemented milestone https://github.com/puikinsh/shapely/milestone/4
= 1.1.6 =
* Implemented milestone https://github.com/puikinsh/shapely/milestone/2
= 1.1.5 =
* Added French translation thanks to Michaël Crofte
= 1.1.0 =
* Major upgrade to comply with WordPress.org guidelines and best practices.
= 1.0.5 =
* Improved theme translation
= 1.0.4 =
* Removed deprecated tags
= 1.0.3 =
* Small bug fixes and improvements
= 1.0.2 =
* Fixed parse error for older version of PHP.
* Fixed error when mobile menu was appearing along regular menu between 990px – 991px.
= 1.0.1 =
* Renamed JavaScript file to get rid of not found error.
* Updated Smooth Scroll to 1.7.2
= 1.0.0 =
* Initial release
