با فیلتر `script_loader_tag` ویژگی `defer="defer"` را به اسکریپتهای قالب اضافه کنید در حالی که جیکوئری را از آن مستثنی میسازید.
<?php
/**
* افزودن خودکار صفت defer به تگهای اسکریپت به جز موارد حیاتی هسته
*/
function bisco_add_defer_attribute( $tag, $handle, $src ) {
// از افزودن دفر به پیشخوان ادمین و فایلهای حساس مانند jquery جلوگیری شود
if ( is_admin() || in_array( $handle, array( 'jquery', 'jquery-core', 'jquery-migrate' ), true ) ) {
return $tag;
}
// اگر قبلاً دفر یا اسینک نداشته باشد، به آن اضافه شود
if ( false === strpos( $tag, 'defer' ) && false === strpos( $tag, 'async' ) ) {
return str_replace( ' src=', ' defer="defer" src=', $tag );
}
return $tag;
}
add_filter( 'script_loader_tag', 'bisco_add_defer_attribute', 10, 3 );