Block Style Modifiers
Block Style Modifiers is a simple WordPress plugin that allows you to add multiple block styles to Gutenberg blocks. Style Modifiers are additive CSS classes that: Can be applied in addition to a Block Style Can be selected multiple at the same time Support both checkbox (non-exclusive) and radio (exclusive) behavior per category Are predefined and documented by themes or plugins Preserve class order, allowing advanced CSS control Category Behavior Style modifiers are organized into categories with two behaviors: Non-exclusive categories (checkbox): Multiple modifiers can be selected simultaneously (default: exclusive: false) Exclusive categories (radio): Only one modifier from the category can be selected at a time (exclusive: true) Registering Categories Categories are registered independently using block_style_modifiers_register_category() before any modifiers that belong to them. Modifiers then reference the category by its slug (string). block_style_modifiers_register_category( $slug, $args ) $slug – Language-independent identifier for grouping (required, first argument) label – Translatable UI label (required) description – Optional category description exclusive – Boolean flag for radio behavior (default: false) Features Register multiple style modifiers for any block type Apply multiple style modifiers to a single block Global style modifiers that apply to all blocks Inline CSS support for easy styling of modifiers Structured category objects with exclusive/non-exclusive behavior Theme-independent default modifiers via Block Style Modifier Pack Default Modifiers Block Style Modifiers includes theme-independent default modifiers that work with any WordPress theme: Philosophy: * Enhance behavior, not visual design * No borders, shadows, spacing, or color palettes * Work with any theme without conflicts * Atomic and performant * Respect prefers-reduced-motion Available Categories: Animations (Exclusive) – Entrance animations for wrapper blocks * Fade In – Smooth fade entrance * Slide Up – Slide from bottom * Slide Down – Slide from top * Slide Left – Slide from right * Slide Right – Slide from left * Scale In – Scale up animation * Rotate In – Rotate with fade * Flip In X – 3D flip animation Applied to: Group, Row, Stack, Grid, Column, Columns (wrapper blocks only) Animation Delay (Exclusive) – Control animation timing * Fast (0.2s) * Normal (0.4s) * Slow (0.8s) Hover Effects (Exclusive) – Transform-based hover interactions * Zoom In on Hover * Subtle Rotate on Hover * Bounce on Hover * Shake on Hover * Brighten on Hover * Darken on Hover * Grayscale to Color on Hover (Image/Cover only) * Blur to Focus on Hover (Image/Cover only) Applied to: Image, Cover, Media & Text (content blocks only) Text Effects (Exclusive) – Micro-interactions for text * Underline Reveal on Hover * Soft Text Fade on Hover Applied to: Paragraph, Heading (text blocks only) All default modifiers respect accessibility preferences and are disabled when prefers-reduced-motion is set. Architecture Note: Animations are only available for wrapper blocks (Group, Row, Stack, etc.) while Hover Effects are for content blocks (Image, Cover, Media & Text). This separation prevents CSS property conflicts and ensures all modifiers work seamlessly together. You can easily extend or override these defaults by registering your own style modifiers in your theme or custom plugin. Usage Define your style modifiers using the block_style_modifiers_register_style function via your theme’s functions.php file or a custom plugin. Select style modifiers in the block editor sidebar under “Block Style Modifiers”. Style modifiers will be applied as additional CSS classes to the block’s wrapper element. It is possible that reordering of classes may affect CSS specificity and styling. Note: There is available an experimental plugin includes blocks style modifiers: Block Style Modifier Pack plugin to function. Registering a Block Style Modifier You can easily register your own style modifiers in your theme or custom plugin. Here are some examples of how to register style modifiers with different category behaviors: Step 1: Register Categories block_style_modifiers_register_category( 'hover-effects', [ 'label' => __( 'Hover Effects', 'my-theme' ), 'description' => __( 'Transform-based hover interactions', 'my-theme' ), 'exclusive' => true, ] ); block_style_modifiers_register_category( 'responsive', [ 'label' => __( 'Responsive', 'my-theme' ), 'description' => __( 'Responsive visibility controls', 'my-theme' ), 'exclusive' => false, ] ); Step 2: Register Modifiers (Reference Category by Slug) Exclusive Category (Radio Behavior) block_style_modifiers_register_style( [ 'core/image', 'core/cover' ], [ 'name' => 'zoom-on-hover', 'label' => __( 'Zoom on Hover', 'my-theme' ), 'class' => 'bsm-zoom-on-hover', 'description' => __( 'Zoom into image on hover', 'my-theme' ), 'category' => 'hover-effects', ] ); Non-Exclusive Category (Checkbox Behavior) block_style_modifiers_register_style( '*', [ 'name' => 'hide-sm', 'label' => __( 'Hide on Small Screens', 'my-theme' ), 'class' => 'bsm-hide-sm', 'category' => 'responsive', ] ); That’s it! You can now select multiple style modifiers for your blocks in the Block Editor. Example Result in Markup class="wp-block-cover has-custom-content-position is-position-bottom-left bsm-zoom-hover bsm-fade-in bsm-delay-normal" It is important to note that the order of classes may affect CSS specificity and styling. You can easily reorder your modifiers with drag/drop functionality in the Block Editor. Source Code It is available on GitHub: * GitHub: https://github.com/Arkenon/block-style-modifiers
Smush – Image Optimization, Compression, Lazy Load, WebP & CDN
Compress images, optimize images, and enable image lazy load automatically with the powerful Smush image optimizer to keep your WordPress site fast, without losing quality. Smush makes it easy to optimize images, compress images, and deliver images faster across your entire WordPress site. This all-in-one image optimizer automatically reduces image file sizes, enables image lazy load, and serves modern formats like WebP and AVIF, all without breaking image quality or adding extra work. Whether you’re running a blog, store, or portfolio, Smush helps you optimize images at scale and keep your site fast with a trusted WordPress image optimizer. Trusted by 1+ Million Sites | 4.8/5 Star Rating Get everything you need to optimize images and speed up your site. Smush works out of the box with no complicated setup – just install and let it handle the rest. Compress images without losing quality Reduce image file size automatically while keeping your images sharp and clear. Smush is an easy-to-use image optimizer which let’s you compress images using both lossless and lossy compression, giving you the best balance of quality and performance without extra work. You can also compress images outside the media library using Directory Smush, making it easy to optimize images stored in theme folders, plugins, or other directories on your server. Lazy load images for faster pages Enable image lazy load across your site so images load only when needed. This image optimizer improves initial page speed and creates a smoother experience for visitors without extra configuration. Serve WebP and AVIF images automatically (PRO) Convert images to WebP and AVIF and serve them automatically to supported browsers. Smush helps you optimize images using next-gen formats to reduce file size and improve load times across your WordPress site. Deliver images faster with an Image CDN (PRO) Serve images through a global image CDN to reduce latency and improve load times for visitors around the world. 119 global CDN servers Up to 500 GB of bandwidth Faster image delivery based on visitor location Improved performance for image-heavy and high-traffic sites Automatically resize and fix image dimensions (PRO) Eliminate common PageSpeed warnings and improve layout stability with automatic image sizing. Smush dynamically resizes images to perfectly fit their containers, regardless of original size, helping fix the “Properly size images” warning in Google PageSpeed Insights. It also automatically adds missing width and height attributes to your images, improving rendering speed and reducing layout shifts. This helps you meet the “Ensure images have explicit width and height” recommendation without any manual work. Optimize your entire site, automatically Smush works across your whole site as a powerful image optimizer to optimize images as you upload them and maintain performance over time without manual work. Optimize images automatically on upload Compress images in bulk or individually Works with your existing media library No need to re-upload images Enable image lazy load across your site Convert images to WebP and AVIF Deliver images with an integrated image CDN Automatically resize and serve correctly sized images Optimize images outside the media library with Directory Smush Built for performance Smush improves page speed and overall performance by reducing image weight and improving how images are delivered. Reduce page load times Improve user experience Better performance for image-heavy pages Supports image lazy load and preload images (PRO) for faster perceived performance Works with your existing setup Smush is built to work with your current WordPress setup, including popular themes, page builders, and plugins. Compatible with Gutenberg, Elementor, WPBakery, and more Works with WooCommerce stores No need to change your workflow Easy to enable and configure Designed to be simple You don’t need to be a performance expert to optimize images with Smush image optimizer. Works out of the box Simple settings when you need them No technical knowledge required Safe to use on any site Why choose Smush? There are plenty of image optimization plugins, but Smush focuses on making it easy to optimize images, compress images, and improve performance without complexity. As a leading WordPress image optimizer, Smush gives you powerful optimization tools without the technical hassle. Trusted by over 1 million WordPress users Built specifically for WordPress Regular updates and improvements Backed by the WPMU DEV team Get started in minutes Install Smush, activate it, and start to compress images, optimize images, and enable image lazy load right away. This easy-to-use image optimizer helps most sites see improvements immediately without changing how they upload or manage images. About Us WPMU DEV is a premium supplier of quality WordPress plugins, services and support. Learn more here: https://wpmudev.com/ Don’t forget to stay up to date on everything WordPress from the Internet’s number one resource: WPMU DEV Blog Hey, one more thing… we hope you enjoy our free offerings as much as we’ve loved making them for you! Contact and Credits Originally written by Alex Dunae at Dialect (dialect.ca, e-mail ‘alex’ at ‘dialect dot ca’), 2008-11.