Einleitung
Wenn man den Abstandshalter-Block hinzufügt, hat er eine Standardhöhe von 100px. Standard-Styles für Block Supports wie z.B. das Spacing oder die fontSize kann ich in der theme.json festlegen, aber wie kann ich die default
-Werte von Block-Attributen überschreiben?
Der passende Filter
Um die Block-Attribute zu filtern, nutzen wir den block_type_metadata
Filter. Weil ich häufig mehrere Attribute in unterschiedlichen Blöcken überschreibe, arbeite ich mit einem switch
-Statement. Das funktioniert natürlich auch für Nicht-Core-Blöcke. In diesem Fall wird z.B. die Größe des Icon-Blocks von Nick Diego überschrieben. Je nachdem, wie ich Icons in der Seite einsetze, macht vielleicht eine andere Größe Sinn.
function filter_block_type_metadata( $metadata ) {
if ( empty( $metadata['name'] ) ) {
return $metadata;
}
switch ( $metadata['name'] ) {
case 'core/spacer':
if ( isset( $metadata['attributes']['height'] ) ) {
$metadata['attributes']['height']['default'] = 'var:preset|spacing|70';
}
break;
case 'outermost/icon-block':
if ( isset( $metadata['attributes']['width'] ) ) {
$metadata['attributes']['width']['default'] = '32px';
}
break;
}
return $metadata;
}
add_filter( 'block_type_metadata', 'filter_block_type_metadata', 10, 1 );
Code-Sprache: PHP (php)