【问题标题】:WordPress: Gutenberg not loading when Defer Parsing of JavaScript added in functions.phpWordPress:在functions.php中添加延迟解析JavaScript时未加载古腾堡
【发布时间】:2019-11-24 19:45:31
【问题描述】:

我正在尝试将 JavaScript 函数的延迟解析合并到我的 functions.php 文件中。当我这样做时,该站点仍然可以正常工作,但是在 wp-admin 中,任何涉及 Gutenberg 的内容都不会加载,我只会得到白屏死机。知道这段代码是否有问题吗?

// Defer Parsing of Javascript
function defer_parsing_of_js ( $url ) {
if ( FALSE === strpos( $url, '.js' ) ) return $url;
if ( strpos( $url, 'jquery.js' ) ) return $url;
    return str_replace( ' src', ' defer src', $url );
}
add_filter( 'script_loader_tag', 'defer_parsing_of_js', 10 );

【问题讨论】:

    标签: javascript wordpress wordpress-gutenberg project-gutenberg


    【解决方案1】:

    您可能下载此代码的页面中包含解决该问题的注释。改用这个:

    function defer_parsing_of_js( $url ) {
        if ( is_user_logged_in() ) return $url; //don't break WP Admin
        if ( FALSE === strpos( $url, '.js' ) ) return $url;
        if ( strpos( $url, 'jquery.js' ) ) return $url;
        return str_replace( ' src', ' defer src', $url );
    }
    add_filter( 'script_loader_tag', 'defer_parsing_of_js', 10 );
    

    来源:https://kinsta.com/blog/defer-parsing-of-javascript/(Dean 回答)

    【讨论】:

    • 谢谢,但不幸的是,这实际上在这里引发了如下错误:解析错误:语法错误,意外'src''(T_STRING),期望','或')'在/www/第 548 行的 webroot/mysite/wordpress/wp-content/themes/my-theme/functions.php 那将是: return str_replace( ' src', ' defer src', $url );
    • 这实际上是一个非常基本的错误类型 imo。当你忘记一个 ;或 ) 或 } 或 $ 或类似的东西。在这种情况下,原始文章的引用是一种奇怪的类型。我替换了它们,你可以用当前代码再试一次吗?
    • 是的,这很重要。谢谢。
    猜你喜欢
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    • 2014-06-05
    • 2019-02-16
    相关资源
    最近更新 更多