<?php if ( !defined( 'ABSPATH' ) ) exit;//PHPの宣言と直接アクセスの拒否

//管理画面では適用しない
if(!is_admin()){
/***** サイト高速化 *****/
/* 一旦吐き出されるdefer属性を削除 */
function haup_delete_defer_parsing_of_js( $url ) {
	if ( FALSE === strpos( $url, '.js' ) ) return $url;

	return str_replace( " defer data-wp-strategy='defer'", '', $url );
}
add_filter( 'script_loader_tag', 'haup_delete_defer_parsing_of_js', 10 );
}

/* 一旦吐き出されるasync属性を削除 */
if(!is_admin()){
function haup_delete_async_parsing_of_js( $url ) {
	if ( FALSE === strpos( $url, '.js' ) ) return $url;

	return str_replace( " async data-wp-strategy='async'", '', $url );
}
add_filter( 'script_loader_tag', 'haup_delete_async_parsing_of_js', 10 );
}

/* 20240413 [ha-dialog]ショートコード使用時に特定のスクリプトの非同期を解除する措置を追加 */
/* JS非同期読み込み defer */
if(!is_admin()){
function haup_defer_parsing_of_js( $url ) {
	if ( FALSE === strpos( $url, '.js' ) ) return $url;
	if ( strpos( $url, 'wp-i18n-js' ) ) return $url;
	if ( strpos( $url, 'wp-hooks-js' ) ) return $url;

	return str_replace( " src", " defer src", $url );
}
add_filter( 'script_loader_tag', 'haup_defer_parsing_of_js', 10 , 2);
}