The Location control allows you to conditionally show or hide content based on where the block is located on your website and the attributes of its location. For example, you could limit block visibility based on a post’s categories and tags. Or you could display specific content depending on the author of the post.
This control was built with Full Site Editing in mind. If you use a block-based theme that supports the Site Editor, you will be able to unlock the true potential of the Location control. Similarly, you can dynamically control widgets in the block-based widget editor screen available in WordPress 5.8+.
There are many applications for the Location control. Here are a few examples to get you started.
- Display unique calls to action or advertisements depending on a post’s category with the Post Taxonomy rule.
- Assume your theme registers a sidebar widget area. Using the block-based Widget screen, display a related posts block on all posts but hide the block on other post types with the Post Type rule.
- In the Site Editor or within a Query block, display a default featured image if the post does not have one set with the Featured Image attribute rule.
- Using the Site Editor, display different navigation blocks depending on the current page of your website with the Post rule. For example, you could hide your main navigation on the checkout page of your online store.
- Using the Site Editor and the Archive rule, dynamically display a call to action in an archive template depending on a specific taxonomy. Say you have a post category called “Tutorials.” On the “Tutorials” archive page, create a banner to promote your video tutorials on YouTube.
How to Enable
Click on any block in the Block Editor and navigate to the Visibility panel in the Settings Sidebar. Depending on your plugin settings, you will see either a vertical ellipsis or a plus-sign icon. See the screenshot below. Click on the icon and select “Location.” The Location control panel will be added to the selected block.
How to Configure
Instructions are always better with examples. Let’s configure the block to be visible if the current post has the category “Tutorials” AND the post was written by “Nick Diego.”
The Location control uses rules and rule sets to determine if the block should be visible. A thorough overview of each available rule is provided below.
Steps to Complete
- Navigate the Location control settings in the Visibility panel.
- Select “Post Taxonomy” from the rule selector.
- Choose “Category” from the taxonomy selector.
- Select “Is at least one of the selected” from the condition selector.
- Choose “Tutorials” from the terms selector.
- Click on the “Add rule” button to add a second rule.
- Choose “Author” from the rule selector.
- Select “Is any of the selected” from the condition selector.
- Choose “Nick Diego” from the author selector.
The resulting configuration should resemble the screenshot below.
Terminology & Notes
When working with the Location control, you will see many references to the term “post”, particularly in the rules detailed below. This can be confusing, so we want to clearly detail the terminology here. In short, “post” generally refers to any page, post, or custom post type on your site. Third-party plugins often add custom post types. For example, WooCommerce adds the products custom post type.
How to Disable
If you want to disable the Location control at the block level, click on the vertical ellipsis icon in the toolbar and deselect it. The control can also be disabled globally in the plugin’s Visibility Control Settings.
Note that if this control is disabled globally, any blocks that are actively being hidden by the Location control will become visible again.
Rules & Rule Sets
Similar to other controls in Block Visibility, the Location control is powered by rules and rule sets. All rules within a rule set must be satisfied for the selected block to be visible. However, you can also create multiple rule sets. Only one rule set needs to apply for the block to be visible.
Within a rule set, you are creating AND conditions between multiple rules. Between two rule sets, you are creating OR conditions.
There are instances when rule errors can occur. For example, if rule inputs are not completely filled out or if the rule is based on a product that has since been deleted from your store. In these situations, the plugin defaults to showing the block unless other rules apply, which would hide the block.
The Type category currently only has one rule. In the future, expect more options that pertain to Full Site Editing, such as rules based on templates and template parts.
The Page Type rule should not be confused with the Post Type rule detailed below. This rule allows you to conditionally display block content based on a set of conditionals that define how the current page is used and/or what it is.
The available conditions are:
- Front Page (Homepage) – The page configured in the WordPress admin Reading Settings.
- Posts Page (Blog page) – The page configured in the WordPress admin Reading Settings.
- Singlular Page – Is the current page a single post?
- Archive Page – Is the current page an archive?
- Search Page – Is the current page a search results page?
- 404 Page – Is the current page a 404 page?
The following rules pertain to post types, taxonomies, and individual posts. As a reminder, posts here refer to native posts, pages, and any custom post types on your website.
This rule lets you conditionally display block content based on the post type of the current post. This rule shines when used in conjunction with page templates and template parts in the Site Editor.
This rule lets you conditionally display block content based on the taxonomy terms of the current post. First, choose the taxonomy and then include or exclude individual taxonomy terms. For example, you would use this rule if you only wanted to show a block if the current post had a specific category.
If you want to display blocks only on taxonomy archives, use the Archive Type rule detailed below.
This rule lets you conditionally display block content on specific posts. You first choose the post type and then include or exclude individual posts.
This rule lets you conditionally display block content based on the ID of the current post. You can also set multiple IDs.
Attribute rules enable conditional block visibility based on a variety of post attributes. Does the post have comments? Is there a featured image set? Who is the post author? Is the post hierarchical, and does it have child posts? The list goes on… Let your creativity run wild!
Display blocks based on the author of the current post.
This rule lets you conditionally display block content based on the existence or a specific number of user comments. The current options are: Post has comments, Post has no comments, and Comment count.
Display blocks based on whether the current post has a featured image or not. This rule is very useful in Query blocks and page templates. Imagine the situation where you must display a default image if there is no featured image set.
This rule lets you display content based on the hierarchy of the current post. The current options are Top level page (no parent), Parent page (has children), and Child Page (has a parent). This rule pairs nicely with page templates. There are many situations where you may want to display specific blocks on child pages versus parent pages.
This rule lets you display content based on what the current post type supports. The current options are Comments, Excerpts, and Featured Images. This is a convenient rule to use in post templates or Query blocks.
The Location control currently contains two rules for configuring archive-based conditional visibility. You will need to use the Site Editor or the block-based Widget Screen to get the most out of these controls. Without the Site Editor or Widget Screen, it’s nearly impossible to position block content on archive pages. All the more reason to upgrade to a block-based theme.
This rule allows you to conditionally display block content on archive pages based on the archive type. Type includes the post types and taxonomies as well as author and date archives.
This rule provides more control than the Archive Type control detailed above. It lets conditionally display block content on archives based on individual taxonomy terms and specific authors.
Hide When Rules Apply
The block will be visible if the applied rules are satisfied by default. Simply toggle the “Hide when rules apply” setting to hide the block instead.