WordPress: Гутенберг не загружается, когда в functions.php добавлен отложенный анализ JavaScript

Я пытаюсь включить функцию отложенного анализа JavaScript в свой файл functions.php. Когда я это делаю, сайт по-прежнему работает нормально, но в wp-admin все, что связано с Гутенбергом, не загружается, и я просто получаю белый экран смерти. Есть идеи, плохой ли этот код?

// 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 );

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/ (ответ Дина)

Другие вопросы по тегам