问题描述
在模板中,我经常将内容分为不同的部分。我想拥有的功能是让一个块包装器将所有块保留在页面底部,而另一个将所有块保留在页面顶部。这对于CTA区域以及从全宽切换到容器宽的主题也很有用。
我知道如何从the_content中调用我的容器块并将其放在主题中所需的位置,但是我仍然需要将该块从主内容循环中移出,这样它就不会在页面上显示两次。我也知道该怎么做,但是问题是我的解决方案停止了嵌入块(例如Youtube)的工作。这些块仅输出视频的URL,而不输出视频本身。这是我的做法:
//If single block exists on page or post don't show it with the other blocks
function remove_blocks() {
// Check if we're inside the main loop in a post or page.
if ( ( is_single() || is_page() ) && in_the_loop() && is_main_query() ) {
$blocks = parse_blocks( get_the_content() );
foreach ( $blocks as $block ) {
if ( 'lazyblock/top-of-page' === $block['blockName'] ) {
continue; //skip past this block
} else {
echo render_block( $block ); //rendering like this screws up Embed Blocks??
}
}
}
}
add_filter( 'the_content','remove_blocks');
任何帮助将不胜感激!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)