Skip to content

Early-bird lifetime licence: $199 once, for the first 200 buyers only. See the offer

WordPress 7.0 locked your patterns. Here’s how to edit them freely again

Since WordPress 7.0, when you insert a pattern, you can change its text and images but not much else. To move a block, change a colour or add something new, you first click Edit pattern (or Detach). For sites built from patterns, that’s a lot of extra clicks, and plenty of people on the support forums thought their site was broken.

What changed

WordPress 7.0 treats an inserted (unsynced) pattern as one section. Inside it, blocks are in “content only” mode: text and media can be changed, layout and design can’t. The idea is to stop people from accidentally breaking a carefully designed layout. That makes sense for clients, but it’s slow for the person who builds the site.

Synced patterns are a different thing. They’ve always needed “Edit original”, because changing one changes them everywhere.

The quick way, without code

Double-click inside the pattern. That opens it for full editing, without the toolbar button. It works per pattern, every time.

The setting that switches it off

WordPress 7.0 includes an official opt-out for this, from the dev note “Pattern editing in WordPress 7.0” on make.wordpress.org. It’s an editor setting called disableContentOnlyForUnsyncedPatterns. Turn it on with this filter:

<?php

add_filter(
	'block_editor_settings_all',
	static function ( $settings ) {
		$settings['disableContentOnlyForUnsyncedPatterns'] = true;
		return $settings;
	}
);

Add it to your child theme’s functions.php, a code snippets plugin, or a file in wp-content/mu-plugins/. It has to be PHP that runs on the server, so pasting it into a Custom HTML block won’t work.

With it on, clicking into an inserted pattern selects the block you clicked, fully editable, like before 7.0.

What it doesn’t change

  • Synced patterns still need “Edit original”. That’s on purpose.
  • Template parts (header, footer) behave as before.
  • Patterns you’ve already inserted are fine. Nothing in your content changes; only the editor behaviour does.

Want a switch your clients can’t break?

If other people edit the site, you may want the 7.0 behaviour for them and direct editing for yourself. A snippet plugin with a per-snippet on/off switch handles that. Or add a check such as current_user_can( 'manage_options' ) inside the filter so it applies to administrators only.

In Snipfire, this is “Edit patterns freely again” in the snippet library, and the snippet’s switch is your on/off toggle.

Move your snippets over this afternoon.

Importing changes nothing until you switch over, and your old shortcodes keep working.