setAttribute( 'class', implode( ' ', [ 'wp-block-paragraph', 'is-sp-counter', ...explode( ' ', $p->getAttribute( 'class' ) ), ] ) ); $dataEnd = $block['attrs']['dataEnd'] ?? 700; $p->setAttribute( "data-end", (string) $dataEnd ); $dataEnd = $block['attrs']['dataStart'] ?? 700; $p->setAttribute( "data-start", (string) $dataEnd ); $prefix = $block['attrs']['prefix'] ?? ''; $p->setAttribute( "data-prefix", (string) $prefix ); $p->textContent = trim( $p->textContent ); return $dom->saveHTML(); } add_filter( 'ikreate_themes_block_inline_js', 'ikreate_themes_block_add_counter_js', 10, 2 ); /** * Conditionally add counter JS. * * @since 1.5.2 * * @param string $js Inline js. * @param string $html Block html content. * * @return string */ function ikreate_themes_block_add_counter_js( string $js, string $html ): string { /** clasic theme compatible */ if( !$html){ global $post; if( $post && $post->post_content) $html = apply_filters( 'the_content', $post->post_content ); } if ( str_contains( $html, 'is-sp-counter' ) ) { $dir = dirname( __DIR__, 1 ); $js .= file_get_contents( $dir . '/assets/js/counter.js' ); } return $js; }