问题描述
我想知道,这种更改块核心/列的HTML输出的方法是否以最好的方式完成。基本上,我需要一个 额外的 div-tag wihin wp-block-column 输出:
<div class="wp-block-columns"><div class="wp-block-column">content col1</div><div class="wp-block-column">content col2</div></div>
所需的输出:
<div class="wp-block-columns"><div class="wp-block-column"><div class="wp-block-column-inner">content col1</div></div><div class="wp-block-column"><div class="wp-block-column-inner">content col2</div></div></div>
中使用以下内容
function custom_render_block_core_columns (
string $block_content,array $block
): string
{
if (
$block['blockName'] === 'core/columns' &&
!is_admin() &&
!wp_is_json_request()
) {
$html = '';
$block['attrs']['className'] ??= '';
$block['attrs']['className'] .= ' theme--' . ($block['attrs']['backgroundColor'] ?? 'white');
$html .= '<div class="wp-block-columns ' . $block['attrs']['className'] . '">' . "\n";
if (isset($block['innerBlocks'])) {
foreach ($block['innerBlocks'] as $inner_block) {
$varCheck = trim($inner_block['innerHTML']);
if ($varCheck == '<div class="wp-block-column"></div>') {
$inner_block['innerHTML'] = '<div class="wp-block-column"><div class="wp-block-column-inner"></div></div>';
$inner_block["innerContent"][0] = '<div class="wp-block-column"><div class="wp-block-column-inner">';
$inner_block["innerContent"][2] = '</div></div>';
}
$html .= render_block($inner_block);
}
}
$html .= '</div><!--/ .wp-block-columns -->' . "\n";
return $html;
}
return $block_content;
}
add_filter('render_block','custom_render_block_core_columns',null,2);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)