Post Title忽略上下文,同步模式无法使用传入的postId和postType上下文
自定义区块传递文章上下文的异常问题
我搭建了一个基础区块,需要像查询区块(Query Block)一样将文章上下文传递给内部区块(InnerBlocks),让标题、特色图片和摘要区块基于指定文章而非当前页面工作,以便在查询区块及站点其他位置复用该“预告”模式。
我已完成的操作:
- 通过
useSelect获取目标类型的所有文章,存储postType和postId属性; - 在
block.json中配置providesContext,前后端均能将上下文正确传递给测试区块。
但遇到以下异常问题:
- 后端表现:除摘要无法加载外,整体正常;
- 前端表现:添加特色图片、摘要或发布日期区块时,上下文传递正常,内容加载正确;但添加Post Title区块时无效;
- 同步模式问题:创建包含相同区块集合的同步模式(Synced Pattern)后,所有区块均无法正常工作;
- 测试区块异常:单独的基础测试区块能正常接收
postId和postType上下文,但将其放入同步模式并置于提供者区块内时,仅能获取当前页面的postId和postType,无法获取上下文传递的值。
我曾尝试的解决方法:认为Post Title使用get_the_title()未利用上下文,因此在render.php中添加了文章数据设置代码,但完全不起作用:
<?php $newPost = get_post($attributes['postId']); setup_postdata( $newPost ); ?> <div <?php echo get_block_wrapper_attributes(); ?>> <?php echo get_the_title(); ?> <?php echo $content; ?> </div> <?php wp_reset_postdata(); ?>
我的方法是否有误?相关资料极少,官方文档也无帮助。
内容的提问来源于stack exchange,提问作者Chris Morris
相关产品推荐
相关产品推荐

