<?php
/**
 * Enqueue script and styles for child theme
 */
function woodmart_child_enqueue_styles() {
	wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( 'woodmart-style' ), woodmart_get_theme_info( 'Version' ) );
}
add_action( 'wp_enqueue_scripts', 'woodmart_child_enqueue_styles', 10010 );





/**
 * مسدود سازی کلی درخواست های خارجی مشخص شده در functions.php
 * این کد برای اجرای هم در فرانت اند و هم در پنل مدیریت (wp-admin) طراحی شده است.
 */
function block_specific_external_assets() {

    // 1. مسدود کردن Gravatar (هم در فرانت و هم در ادمین برای آواتارها)
    // این از طریق فیلتر پیش‌گرفته شد، اما برای اطمینان، این را نگه می‌داریم:
    function custom_block_gravatar( $avatar_args ) {
        if ( isset( $avatar_args['url'] ) && strpos( $avatar_args['url'], 'gravatar.com' ) !== false ) {
            $avatar_args['url'] = ''; // حذف URL
        }
        return $avatar_args;
    }
    add_filter( 'pre_get_avatar_data', 'custom_block_gravatar', 10, 1 );

    // 2. حذف منابع مشخص شده از طریق wp_dequeue_script و wp_dequeue_style
    
    // منابع مربوط به air-datepicker (JS و CSS)
    wp_dequeue_script( 'air-datepicker-js' ); // نام دستگیره (handle) فرضی برای JS
    wp_deregister_script( 'air-datepicker-js' );
    
    wp_dequeue_style( 'air-datepicker-css' ); // نام دستگیره (handle) فرضی برای CSS
    wp_deregister_style( 'air-datepicker-css' );

    // منابع مربوط به fontawesome
    wp_dequeue_script( 'fontawesome-js' ); 
    wp_deregister_script( 'fontawesome-js' );
    
    wp_dequeue_style( 'fontawesome-css-all' ); 
    wp_deregister_style( 'fontawesome-css-all' );
    
    wp_dequeue_style( 'fontawesome-css-shims' ); 
    wp_deregister_style( 'fontawesome-css-shims' );


    // --- نکته حیاتی برای منابعی که با URL مستقیم لود می‌شوند ---
    // برای منابعی که با add_inline_script یا مستقیماً در کد HTML اضافه شده‌اند و دستگیره (handle) ندارند،
    // باید با استفاده از فیلتر `script_loader_tag` و `style_loader_tag` تگ HTML نهایی را ویرایش کنیم:

    add_filter( 'script_loader_tag', 'remove_external_script_by_src', 10, 3 );
    add_filter( 'style_loader_tag', 'remove_external_style_by_src', 10, 3 );

}
add_action( 'wp_enqueue_scripts', 'block_specific_external_assets', 9999 ); // فرانت اند
add_action( 'admin_enqueue_scripts', 'block_specific_external_assets', 9999 ); // پنل مدیریت

// تابع کمکی برای حذف اسکریپت‌ها بر اساس منبع (SRC)
function remove_external_script_by_src( $tag, $handle, $src ) {
    $targets = array(
        'https://cdn.jsdelivr.net/npm/air-datepicker',
        'https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free',
    );

    foreach ($targets as $target) {
        if ( strpos( $src, $target ) !== false ) {
            return ''; // بازگرداندن رشته خالی باعث حذف کامل تگ می‌شود.
        }
    }
    return $tag;
}

// تابع کمکی برای حذف استایل‌ها بر اساس منبع (SRC)
function remove_external_style_by_src( $tag, $handle, $src ) {
    $targets = array(
        'https://cdn.jsdelivr.net/npm/air-datepicker',
        'https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free',
    );

    foreach ($targets as $target) {
        if ( strpos( $src, $target ) !== false ) {
            return ''; // بازگرداندن رشته خالی باعث حذف کامل تگ می‌شود.
        }
    }
    return $tag;
}
