在编辑器中,我试图在所有内容加载完毕并准备就绪后,循环浏览当前帖子的所有块。
wp.data.select("core/block-editor").getBlocks();
如果我手动调用它(通过链接/按钮),可以成功获取所有块,但我希望它自动运行。
当这个片段在domReady中时,一个la
wp.domReady( function() {...
getBlocks始终返回null。
我也试着用这个承诺
wp.domReady( function() {
窗口_wpLoadBlockEditor。然后(函数(){
console.log( "_wpLoadBlockEditor Promise resolved" );
var blocks = wp.data.select("core/block-editor").getBlocks();
console.log( blocks );
});
});
但即使对于块,它也返回null。这让我想知道,这个承诺是否只是为了让编辑自己做好准备;不是实际的帖子内容?
如果我添加了两秒钟的延迟(通过setTimeout),那么getBlocks将返回我的所有块。很明显,我不想武断地等待,希望一切都准备好了。有什么方法可以确保我的脚本在getBlocks()准备好实际返回帖子的块时立即启动?