Title: Steuber Block Logic
Author: Steuber Design
Published: <strong>October 2, 2026</strong>
Last modified: October 2, 2026

---

Search plugins

![](https://ps.w.org/steuber-block-logic/assets/banner-772x250.png?rev=3725388)

![](https://ps.w.org/steuber-block-logic/assets/icon.svg?rev=3725388)

# Steuber Block Logic

 By [Steuber Design](https://profiles.wordpress.org/rsteuber/)

[Download](https://downloads.wordpress.org/plugin/steuber-block-logic.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/steuber-block-logic/#description)
 * [Reviews](https://wordpress.org/plugins/steuber-block-logic/#reviews)
 *  [Installation](https://wordpress.org/plugins/steuber-block-logic/#installation)
 * [Development](https://wordpress.org/plugins/steuber-block-logic/#developers)

 [Support](https://wordpress.org/support/plugin/steuber-block-logic/)

## Description

Steuber Block Logic adds its settings to the blocks you already use, in the block
sidebar of the editor.

#### Display conditions

 * Show or hide any block by login status, user role, post type, page type or date
   range.
 * Combine rules with AND, and add OR groups for alternatives.
 * Inside a Query Loop, the rules are checked for each item.
 * A hidden block is left out of the page output.

#### Dynamic content

 * Fill block text, links and images from 15 dynamic tags: post title, excerpt, 
   date, modified date, URL, terms, post ID, comment count, comments URL, featured
   image, site title, tagline, site URL, site logo and current date.
 * Add text before and after the value, and a fallback for when it is empty.
 * See the real values in the editor.

#### Entrance animations

 * 36 entrance animations for any block.
 * Visitors who ask their system for reduced motion see the content without the 
   animation.

#### Responsive visibility and layout

 * Hide a block on desktop, tablet or mobile.
 * Stretch a block to the full screen width on the devices you choose, and keep 
   its content aligned with the content or wide width.

Steuber Block Logic Pro adds more conditions, more dynamic tags, scroll and mouse
effects, sticky blocks and custom attributes.

### External services

Steuber Block Logic uses Freemius (https://freemius.com), a licensing and payments
service run by Freemius, Inc., for its optional opt-in and for upgrades to Steuber
Block Logic Pro. The Freemius SDK in the plugin’s vendor/ folder only sends data
to Freemius when an administrator chooses to; nothing is sent without that consent,
and the plugin itself contacts no other service.

 * Opt-in: after activation, an administrator can allow or skip sharing. Only after
   allowing, the SDK sends the administrator’s name and email address, the site’s
   address and title, the WordPress and PHP versions, the site language, the plugin
   and SDK versions, and the lists of installed plugins and themes. While the site
   stays opted in, it also reports activation, deactivation, uninstall and version
   changes of this plugin. Skipping sends nothing, and an administrator can opt 
   out later on the Plugins screen.
 * Upgrade and pricing: when an administrator opens the upgrade link or the pricing
   page, the plans and prices are loaded from Freemius (api.freemius.com), and the
   checkout runs on Freemius.
 * Deactivation feedback: when the plugin is deactivated, an administrator can send
   the reason to Freemius. It is only sent when the administrator submits it.

Freemius terms of service: https://freemius.com/terms/
 Freemius privacy policy:
https://freemius.com/privacy/ Steuber Design privacy policy: https://steuberdesign.
nl/steuber-block-logic/privacy/

### Support

 * Steuber Block Logic (free): ask in the plugin’s support forum on WordPress.org.
 * Steuber Block Logic Pro: use the support page at https://steuberdesign.nl/steuber-
   block-logic/support/. The WordPress.org forums are for the free version only.

### Security

Please report security vulnerabilities privately to info@steuberdesign.nl, not in
the support forum. How reports are handled is described in the security policy at
https://steuberdesign.nl/steuber-block-logic/security/. Contact details are also
published at https://steuberdesign.nl/.well-known/security.txt.

### Source code

The JavaScript and CSS in assets/build are compiled from the human-readable sources
in assets/src, which ship with the plugin. To build them yourself, install Node.
js 20 or later, then run `npm ci` and `npm run build` in the plugin folder (the 
build setup is in package.json and webpack.config.js). The PHP code in php/ is not
compiled. The vendor/ folder holds the Freemius SDK, installed with Composer (`composer
install --no-dev`, see composer.json).

## Screenshots

[⌊Display conditions in the block sidebar: show a block only to logged-in visitors.⌉⌊
Display conditions in the block sidebar: show a block only to logged-in visitors
.⌉[

Display conditions in the block sidebar: show a block only to logged-in visitors.

[⌊Combine rules with AND, and add OR groups for alternatives.⌉⌊Combine rules with
AND, and add OR groups for alternatives.⌉[

Combine rules with AND, and add OR groups for alternatives.

[⌊Dynamic content: fill a heading with the post title, with text before and after
it.⌉⌊Dynamic content: fill a heading with the post title, with text before and after
it.⌉[

Dynamic content: fill a heading with the post title, with text before and after 
it.

[⌊Entrance animations: choose how a block appears when it scrolls into view.⌉⌊Entrance
animations: choose how a block appears when it scrolls into view.⌉[

Entrance animations: choose how a block appears when it scrolls into view.

[⌊Responsive visibility: hide a block on desktop, tablet or mobile.⌉⌊Responsive 
visibility: hide a block on desktop, tablet or mobile.⌉[

Responsive visibility: hide a block on desktop, tablet or mobile.

[⌊Layout: stretch a block to the screen width and keep its content aligned with 
the page.⌉⌊Layout: stretch a block to the screen width and keep its content aligned
with the page.⌉[

Layout: stretch a block to the screen width and keep its content aligned with the
page.

## Installation

 1. In your WordPress admin, go to Plugins > Add New Plugin and search for “Steuber
    Block Logic”.
 2. Click Install Now, then Activate.
 3. Open a page or post in the block editor and select a block. The Steuber Block Logic
    settings appear in the block sidebar.

Steuber Block Logic needs WordPress 6.9 or later and PHP 8.1 or later.

## FAQ

### What happens to settings made with Pro if I switch back to the free version?

Nothing is deleted. Until you edit the affected blocks:

 * a block with a display condition that the free version doesn’t have stays hidden
   for every visitor (the rule fails closed);
 * dynamic content from a tag that the free version doesn’t have shows its fallback
   text, or nothing;
 * scroll and mouse effects, sticky settings and custom attributes are ignored.

An admin notice lists the affected content. When you switch back to Pro, the settings
work again.

### Are display conditions access control?

No. A block hidden by a display condition is only left out of the page output; its
content is still stored in the post. If the plugin is deactivated, every block is
shown to every visitor. Don’t use display conditions to protect content that must
stay private.

### Does it work with page caching?

Yes. A page cache serves one stored copy of a page to every visitor, so a rule that
depends on the moment of the visit would show everyone the same result. When a page
contains a block with an enabled date range rule whose result can still change, 
the plugin keeps that page out of page caches, whether the block is shown or hidden
at that moment: it defines `DONOTCACHEPAGE`, which most caching plugins respect,
and sends no-cache headers when it still can.

 * A rule in a template part, such as a header, affects every page that uses it.
 * Once a date range has ended, or has started and has no end date, its result can’t
   change any more, and the page can be cached again.
 * What a visitor can’t see doesn’t count: the dynamic content of a hidden block,
   and the blocks inside it.

Login status and user role rules don’t turn caching off, because page caches normally
skip logged-in visitors. The current date tag doesn’t either: it often sits in a
footer on every page.

The no-cache headers can only be sent before any output. Block themes build the 
whole page first; a theme that prints the top of the page before the content may
already have sent them, and then only `DONOTCACHEPAGE` is set. Caches that only 
look at headers, such as server-level caches and CDNs, can then still store the 
page, so exclude those pages in their settings.

Developers can switch this off with the `steuber_block_logic/cache_guard_enabled`
filter (return false); the `steuber_block_logic/uncacheable_render` action fires,
with the reason, when a page is kept out of the cache.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Steuber Block Logic” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Steuber Design ](https://profiles.wordpress.org/rsteuber/)

[Translate “Steuber Block Logic” into your language.](https://translate.wordpress.org/projects/wp-plugins/steuber-block-logic)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/steuber-block-logic/),
check out the [SVN repository](https://plugins.svn.wordpress.org/steuber-block-logic/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/steuber-block-logic/)
by [RSS](https://plugins.trac.wordpress.org/log/steuber-block-logic/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

First public release.

 * Display conditions for every block: login status, user role, post type, page 
   type and date range, combined with AND and OR groups, and checked per item inside
   a Query Loop.
 * Dynamic content: 15 dynamic tags for block text, links and images, with text 
   before and after the value and a fallback.
 * 36 entrance animations that respect the visitor’s reduced-motion setting.
 * Responsive visibility for desktop, tablet and mobile, and a layout option to 
   stretch a block to the full screen width.
 * Pages with a block whose output depends on the moment of the visit, such as a
   date range rule that is still running, are kept out of page caches.
 * Dutch translation.

## Meta

 *  Version **1.0.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.9 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [animation](https://wordpress.org/plugins/tags/animation/)[display conditions](https://wordpress.org/plugins/tags/display-conditions/)
   [dynamic content](https://wordpress.org/plugins/tags/dynamic-content/)[responsive](https://wordpress.org/plugins/tags/responsive/)
   [visibility](https://wordpress.org/plugins/tags/visibility/)
 *  [Advanced View](https://wordpress.org/plugins/steuber-block-logic/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/steuber-block-logic/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/steuber-block-logic/reviews/)

## Contributors

 *   [ Steuber Design ](https://profiles.wordpress.org/rsteuber/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/steuber-block-logic/)