正在寻找古腾堡呈现后的回调函数?

时间:2019-08-03 作者:M-R

在帖子/页面编辑屏幕上,我想在古腾堡编辑器/整个页面完全呈现和可见时调用我的函数。在WP 5.2.2中,我已尝试jQuery(document).ready(function () {});wp.domReady(function() {}); 但这两个函数都是在渲染组件之前调用的。

在这种情况下,我们是否可以使用任何类似的函数或回调?

编辑:场景是,我正在开发一个插件,允许用户对受密码保护的父页面的子页面进行密码保护。为此,在页面编辑屏幕上,我需要在密码字段下方显示一个复选框,该复选框允许用户选择是否也应锁定此页面的子页面。

我让它在WordPress 5.0之前的版本中工作,但自从Gutenberg之后,它就坏了。如果有更好的方法,我愿意学习。

谢谢

1 个回复
SO网友:Jonas Lundman

嗯,很难找到关于古腾堡和块编辑器的开发人员文档帖子。这个解决方案对我们很有用,由于Gutenberg在所有方面都使用javascript,我们也会这样做,但会将其封装在jQuery中,因为我们讨厌react API。

;( function( $ ) {
    $(document).ready(function(){
        
        // EVERYTHING HERE IS A UNIQUE SCOPE
        
        function this_init(){
            // Start calling your functions from here:
            do_something();
            do_something_else();
        }

        let blockLoaded = false;
        let blockLoadedInterval = setInterval(function(){
            if(document.getElementById(\'post-title-0\')){
                blockLoaded = true;
                this_init();
            }
            if(blockLoaded){
                clearInterval(blockLoadedInterval);
            }
        }, 500);
        
        function do_something(){
            alert(\'Hallo Gutenberg, lets do some performance\');
        }
        
        function do_something_else(){
            alert(\'Hallo Gutenberg, lets do some performance\');
        }

    });
})(jQuery);
在PHP/functions中。php仅使用后台挂钩加载脚本文件:

add_action(\'enqueue_block_editor_assets\', \'your_enqueue_scripts_php_function\');
我想会有一个古腾堡;API“;在这个问题上的更新就像TinyMce在渲染之前等。不,它不是一个黑客,它就像古腾堡一样,因为块编辑器只是一个巨大的客户端脚本黑客。

提示:如果在编辑熨平板中发生所有延迟加载之后需要采取措施。只需将jquery用作ajaxStop()函数,依此类推。

相关推荐

由于出现javascript MIME类型错误,无法加载脚本

我正在尝试让jQuery砌体插件在站点上运行。我已经更新了模板文件,以获得插件需要的适当类。然后我将脚本按如下方式排队:function masonry_scripts() { wp_enqueue_script(\'masonry\'); wp_enqueue_script( \'masonry-script\', get_template_directory_uri() . \'/assets/js/masonry-script.js\', array(), false