目次
カスタマイズ前(デフォルト)の出力
<h2 class="wp-block-heading">...</h2><span>があった方がカスタマイズしやすい。ショートコートで<span>追加してもいいけど、使用頻度が高いので、いっそ強制的に入れたろか。
カスタマイズ後の出力
対象は<h2>~<h6>
<h2 class="wp-block-heading"><span>...</span></h2>手順
functions.phpに以下のコードを追加する
function wporg_block_wrapper( $block_content, $block ) {
if ( $block['blockName'] === 'core/heading' ) {
if (preg_match("/h2/", $block["innerHTML"])) {
return preg_replace(
'/<h2(.*?)>(.*?)<\/h2>/',
'<h2$1><span>$2</span></h2>',
$block_content);
}
elseif (preg_match("/h3/", $block["innerHTML"])) {
return preg_replace(
'/<h3(.*?)>(.*?)<\/h3>/',
'<h3$1><span>$2</span></h3>',
$block_content);
}
elseif (preg_match("/h4/", $block["innerHTML"])) {
return preg_replace(
'/<h4(.*?)>(.*?)<\/h4>/',
'<h4$1><span>$2</span></h4>',
$block_content);
}
elseif (preg_match("/h5/", $block["innerHTML"])) {
return preg_replace(
'/<h5(.*?)>(.*?)<\/h5>/',
'<h5$1><span>$2</span></h5>',
$block_content);
}
elseif (preg_match("/h6/", $block["innerHTML"])) {
return preg_replace(
'/<h6(.*?)>(.*?)<\/h6>/',
'<h6$1><span>$2</span></h6>',
$block_content);
}
else {
return $block_content;
}
}
return $block_content;
}
add_filter( 'render_block', 'wporg_block_wrapper', 10, 2 );以上!