Version 2.0.0 - A modern WordPress theme for developers
HeightWind is a lightweight WordPress theme with a clean, responsive design and strong focus on typography. Originally created by James Koster as Highwind, this modernized version is maintained by Matt Simpson.
- Download Latest Release - Production-ready ZIP file
- WordPress.org Theme Page - End-user documentation
- Original Highwind - Original theme repository
- Theme: GNU General Public License v2.0
- Font Awesome 7 Free: SIL OFL 1.1 (fonts), MIT (CSS), CC BY 4.0 (icons)
- Modern Build System: npm + Sass (SCSS) + Terser
- Developer Friendly: Extensive hooks and filters via Theme Hook Alliance
- Typography: Modular scale for consistent hierarchy
- Responsive Grid: Semantic grid system
- Accessibility: WCAG compliant, skip links, semantic HTML
- WooCommerce Ready: Full integration with customization options
- Child Theme Ready: Extensive customization via child themes
HeightWind uses a modern npm-based build system with SCSS for stylesheets and Terser for JavaScript minification.
- Node.js and npm installed on your system
Install development dependencies:
npm installnpm run buildnpm run build:cssCompiles:
style.scss→style.cssframework/scss/editor-styles.scss→framework/css/editor-styles.css
npm run build:jsMinifies:
framework/js/script.js→framework/js/script.min.jsframework/js/plugins.js→framework/js/plugins.min.js
npm run watchAutomatically rebuilds CSS and JavaScript when source files change.
heightwind/
├── framework/ # Core theme framework
│ ├── css/ # Compiled CSS
│ ├── js/ # JavaScript files
│ ├── scss/ # SCSS source files
│ ├── heightwind-functions.php
│ ├── heightwind-hooks.php
│ ├── heightwind-template.php
│ └── heightwind-customizer.php
├── includes/ # Feature integrations
│ └── integrations/
│ └── woocommerce/ # WooCommerce support
├── templates/ # Page templates
├── style.scss # Main stylesheet source
├── style.css # Compiled main stylesheet
├── functions.php # Theme initialization
└── package.json # Build configuration
style.scss- Main stylesheet (imports all partials)framework/scss/_mixins.scss- Reusable mixins and animationsframework/scss/_normalize.scss- CSS normalizationframework/scss/_grid.scss- Semantic grid systemframework/scss/_core.scss- Core theme styles
framework/js/script.js- Main theme JavaScript (navigation, back-to-top)framework/js/plugins.js- jQuery plugins
HeightWind provides extensive action hooks for customization:
Body Hooks:
heightwind_body_top- Top of<body>tagheightwind_body_bottom- Bottom of<body>tag
Header Hooks:
heightwind_header_before- Before headerheightwind_header- Main header areaheightwind_header_after- After header
Navigation Hooks:
heightwind_navigation_before- Before navigationheightwind_navigation_top- Top of navigationheightwind_navigation_bottom- Bottom of navigationheightwind_navigation_after- After navigation
Content Hooks:
heightwind_content_before- Before content containerheightwind_content_top- Top of content areaheightwind_content_header_top- Top of entry headerheightwind_content_bottom- Bottom of content areaheightwind_content_after- After content container
Entry Hooks:
heightwind_entry_top- Top of entry/postheightwind_entry_bottom- Bottom of entry/post
Footer Hooks:
heightwind_footer_before- Before footerheightwind_footer- Main footer areaheightwind_footer_after- After footer
See framework/heightwind-hooks.php for complete hook definitions.
To create a production-ready ZIP file for deployment:
npm run build:distThis command will:
- Compile all CSS and JavaScript files
- Create a
dist/folder with only production files (no node_modules, .git, development files) - Generate a
heightwind-2.0.0.zipfile ready for deployment
Option 1: Upload ZIP via WordPress Admin
- Run
npm run build:dist - Go to WordPress Admin > Appearance > Themes > Add New > Upload Theme
- Upload the generated
heightwind-2.0.0.zipfile - Activate the theme
Option 2: Manual Installation
- Run
npm run build:dist - Extract
heightwind-2.0.0.zip - Upload the
heightwind/folder to your WordPress site'swp-content/themes/directory - Activate via WordPress Admin > Appearance > Themes
Option 3: Direct Git Clone (Development Only)
For development/testing only, you can clone directly:
cd wp-content/themes/
git clone <repository-url> heightwind
cd heightwind
npm install
npm run buildThen activate the theme in WordPress. This approach is only suitable for development environments where you need access to the build tools.
For site-specific customizations, use a child theme rather than modifying HeightWind directly. This preserves your changes when updating the parent theme.
-
Create a new directory in
wp-content/themes/(e.g.,heightwind-child/) -
Create
style.csswith the following header:
/*
Theme Name: HeightWind Child
Template: heightwind
*/- Create
functions.php:
<?php
function heightwind_child_enqueue_styles() {
wp_enqueue_style('heightwind-parent', get_template_directory_uri() . '/style.css');
wp_enqueue_style('heightwind-child', get_stylesheet_uri(), array('heightwind-parent'));
}
add_action('wp_enqueue_scripts', 'heightwind_child_enqueue_styles');Example - Add custom content before footer:
function my_custom_footer_content() {
echo '<div class="custom-footer">My custom content</div>';
}
add_action('heightwind_footer_before', 'my_custom_footer_content');Example - Modify post meta display:
// Remove default post meta
remove_action('heightwind_entry_bottom', 'heightwind_post_meta');
// Add custom post meta
function my_custom_post_meta() {
// Your custom implementation
}
add_action('heightwind_entry_bottom', 'my_custom_post_meta');Example - Disable header gravatar:
add_filter('heightwind_header_gravatar', '__return_false');Example - Change featured image size:
add_filter('heightwind_featured_image_size', function() {
return 'full';
});Contributions are welcome! Please follow these guidelines:
- Fork the repository and create a feature branch
- Follow WordPress Coding Standards for PHP, CSS, and JavaScript
- Test thoroughly with WordPress 6.0+ and PHP 7.4+
- Document your changes in comments and commit messages
- Update changelog in readme.txt for user-facing changes
- Submit a pull request with a clear description
# Fork and clone
git clone https://github.com/YOUR-USERNAME/heightwind.git
cd heightwind
# Create feature branch
git checkout -b feature/your-feature-name
# Install dependencies
npm install
# Make changes and test
npm run watch # Auto-rebuild on changes
# Build for production
npm run build:dist
# Commit and push
git add .
git commit -m "Add feature: your feature description"
git push origin feature/your-feature-name- Issues: GitHub Issues
- Documentation: See readme.txt for end-user documentation
- Original Theme: Highwind by James Koster