我正在尝试通过函数php修改gutemberg提供的图库的html输出。可是,我不会呀。
你如何拦截和修改自己?
这是原始的:
<ul="wp-block-gallery columns-2 is-cropped">
<li class="blocks-gallery-item">....</li>
<li class="blocks-gallery-item">....</li>
</ul>我想根据列数对其进行更改,使其适应我的开发框架……
<div class="grid-x">
<div class="box-50">...</div>
<div class="box-50">...</div>
</div>存在如何通过function.php改变它??
发布于 2019-03-29 01:10:13
解决方案:
通过函数php覆盖Wp gutenberg html输出的示例:
add_filter( 'render_block', 'GutenGallery' , 10, 2 );
function GutenGallery( $block_content, $block )
{
if ( 'core/gallery' !== $block['blockName'] || ! isset( $block['attrs']['ids'] ) )
{
return $block_content;
}
$li = '';
$col = $block['attrs']['columns'];
foreach( (array) $block['attrs']['ids'] as $id ) {
if( $col == "1" || !$col)
{
$li .= sprintf( '<div class="box-[50-50-100]"><div class="autocrop radius-medium" style="height:300px;">%s</div></div>', wp_get_attachment_image( $id, 'large' ) );
}
elseif ($col == "2" )
{
$li .= sprintf( '<div class="box-[50-50-100]"><div class="autocrop radius-medium" style="height:300px;">%s</div></div>', wp_get_attachment_image( $id, 'large' ) );
}
elseif ($col == "3" )
{
$li .= sprintf( '<div class="box-[33-33-100]"><div class="autocrop radius-medium" style="height:300px;">%s</div></div>', wp_get_attachment_image( $id, 'large' ) );
}
elseif ($col >= "4" )
{
$li .= sprintf( '<div class="box-[25-25-50]"><div class="autocrop radius-medium" style="height:300px;">%s</div></div>', wp_get_attachment_image( $id, 'large' ) );
}
}
return sprintf( '<div class="grid-x gap-20">%s</div>', $li );
}(方框是我的framewok kimera上使用的栅格)
感谢所有人;)
https://stackoverflow.com/questions/55402138
复制相似问题