Did You managed that to work properly?
Cause I’ve got similar problem with my blocks, much simpler code:
<?php
// Create class attribute allowing for custom "className" and "align" values.
$class_name = 'my-block';
if ( ! empty( $block['className'] ) ) {
$class_name .= ' ' . $block['className'];
}
if ( ! empty( $block['align'] ) ) {
$class_name .= ' align' . $block['align'];
}
if ( ! empty( $block['alignText'] ) ) {
$class_name .= ' text-align-' . $block['alignText'];
}
$anchor = '';
if ( ! empty( $block['anchor'] ) ) {
$anchor = 'id="' . esc_attr( $block['anchor'] ) . '" ';
}
$custom_id = wp_unique_id( 'custom-' );
$attrs = $is_preview ? 'class="'.$class_name.'"' : get_block_wrapper_attributes(
[
'class' => $class_name
]
);
?>
<section <?php echo $anchor; ?> <?php echo $attrs; ?>>
<!-- my block content -->
</section><!-- /.full-section -->
In admin panel my SECTION is wrapped with extra div, on frontend everything is fine.
I’ve got problem with double classes in frontend too, when I remove this code:
$class_name .= ' ' . $block['className'];
it’s better, but in admin panel it’s a little pain in ass.
I’ve notice that You need to add:
if ( ! empty( $block['align'] ) ) {
$class_name .= ' align' . $block['align'];
}
if ( ! empty( $block['alignText'] ) ) {
$class_name .= ' text-align-' . $block['alignText'];
}
in block PHP file to render this values properly on frontend.
I’ve spend dozens hours to test everything, it’s not perfect to create block with ACF, but I can managed that to work with them.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Privacy Policy. If you continue to use this site, you consent to our use of cookies.