Чтобы поставить скрипт в очередь с атрибутом «defer» в WordPress, вы можете использовать функцию wp_enqueue_script()
вместе с фильтром script_loader_tag
. Это позволит вам добавить атрибут «defer» в тег скрипта. Вот пример:
Метод 1: использование фильтра script_loader_tag
в файле function.php вашей темы.
function add_defer_attribute($tag, $handle) {
// Add the "defer" attribute to specific scripts
$scripts_to_defer = array('script-handle1', 'script-handle2');
if (in_array($handle, $scripts_to_defer)) {
// Add the "defer" attribute to the script tag
$tag = str_replace(' src', ' defer src', $tag);
}
return $tag;
}
add_filter('script_loader_tag', 'add_defer_attribute', 10, 2);
В этом примере вам необходимо заменить 'script-handle1'
и 'script-handle2'
фактическими дескрипторами сценариев, которые вы хотите отложить.
Метод 2: использование функции wp_script_add_data()
.
function add_defer_attribute() {
// Add the "defer" attribute to specific scripts
$scripts_to_defer = array('script-handle1', 'script-handle2');
foreach ($scripts_to_defer as $handle) {
// Add the "defer" attribute to the script
wp_script_add_data($handle, 'defer', true);
}
}
add_action('wp_enqueue_scripts', 'add_defer_attribute');
Опять же, обязательно замените 'script-handle1'
и 'script-handle2'
фактическими дескрипторами сценариев, которые вы хотите отложить.
Эти методы добавят атрибут «defer» к указанным скриптам при их постановке в очередь в WordPress.