کتابخانه کد و توابع اختصاصی بیسکو وب

توابع تمیز، هوک‌های کارآمد و اسنیپت‌های تست‌شده برای وردپرس، ووکامرس، لاراول و وب مدرن جهت حذف افزونه‌های سنگین، بهبود نمره رندر و سرعت، با امکان کپی فوری و دانلود به عنوان افزونه آماده.

۱۰۰ قطعه کد آماده ۴۰۵۴۸ بار استفاده و کپی شده ۱۰۰٪ تست‌شده و ایمن
فضای کار توسعه و مهندسی کد استودیو بیسکو وب
PHP افزایش سرعت و پرفورمنس Conditional Enqueue Hook

بارگذاری شرطی فایل‌های CSS در صفحات دلخواه وردپرس (Conditional CSS)

با تابع `wp_enqueue_style` درون تگ شرطی `is_page('contact')` یا `is_singular('product')` فایل‌های CSS را منحصراً در صفحه مورد نظر لود کنید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * بارگذاری هوشمند و شرطی فایل‌های CSS بر اساس نوع صفحه
 */
function bisco_conditional_enqueue_styles() {
    // بارگذاری استایل فرم تماس فقط در برگه تماس با ما
    if ( is_page( 'contact-us' ) ) {
        wp_enqueue_style(
            'bisco-contact-style',
            get_stylesheet_directory_uri() . '/assets/css/contact.css',
            array(),
            '1.0.0'
        );
    }

    // بارگذاری استایل گالری فقط در پست‌های تکی وبلاگ
    if ( is_single() && 'post' === get_post_type() ) {
        wp_enqueue_style(
            'bisco-single-gallery',
            get_stylesheet_directory_uri() . '/assets/css/gallery.css',
            array(),
            '1.0.0'
        );
    }
}
add_action( 'wp_enqueue_scripts', 'bisco_conditional_enqueue_styles', 20 );
۲۵۸ 1405/06/29
PHP افزایش سرعت و پرفورمنس Action Hook (wp_dequeue_style)

حذف فایل‌های CSS غیرضروری افزونه‌ها در صفحات خاص (Remove Plugin CSS)

با استفاده از تابع `wp_dequeue_style` و `wp_deregister_style` با اولویت بالا (مثلاً ۹۹) در هوک `wp_enqueue_scripts`، فایل استایل افزونه را در صفحات مشخص لغو کنید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * حذف استایل‌های اضافی افزونه فرم تماس ۷ در صفحاتی به جز برگه تماس
 */
function bisco_remove_unneeded_plugin_css() {
    // اگر در برگه تماس یا لندینگ فرم نیستیم، استایل را حذف کن
    if ( ! is_page( array( 'contact', 'request-quote' ) ) ) {
        wp_dequeue_style( 'contact-form-7' );
    }

    // حذف استایل افزونه wp-block-library در صورت عدم استفاده از گوتنبرگ در فرانت
    if ( ! is_singular( 'post' ) ) {
        wp_dequeue_style( 'wp-block-library' );
        wp_dequeue_style( 'wp-block-library-theme' );
    }
}
add_action( 'wp_enqueue_scripts', 'bisco_remove_unneeded_plugin_css', 99 );
۳۴۳ 1405/06/29

افزودن ویژگی Defer به کدهای جاوااسکریپت در وردپرس (Add Defer to Scripts)

با فیلتر `script_loader_tag` ویژگی `defer="defer"` را به اسکریپت‌های قالب اضافه کنید در حالی که جی‌کوئری را از آن مستثنی می‌سازید.

متوسط (Medium Risk) متوسط (Medium)
<?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 );
۱۰۱ 1405/06/29

پیش‌بارگذاری فونت‌ها در وردپرس (Preload Fonts)

کد زیر را با تغییر مسیر فونت به functions.php اضافه کنید تا فونت اصلی سایت بلافاصله در بالاترین اولویت لود شود.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * پیش‌بارگذاری فونت‌های اصلی قالب جهت بهبود زمان LCP و جلوگیری از FOUT/CLS
 */
function bisco_preload_critical_fonts() {
    $font_url = get_stylesheet_directory_uri() . '/assets/fonts/iranyekan-web-regular.woff2';
    echo '<link rel="preload" href="' . esc_url( $font_url ) . '" as="font" type="font/woff2" crossorigin="anonymous">' . "
";
}
add_action( 'wp_head', 'bisco_preload_critical_fonts', 1 );
۶۲ 1405/06/29
APACHE افزایش سرعت و پرفورمنس Compression Directive

کد فعال‌سازی فشرده‌سازی Gzip در وب‌سرور آپاچی (.htaccess)

این کد ماژول mod_deflate را در آپاچی برای انواع داده‌های متنی فعال کرده و خروجی را پیش از ارسال به مرورگر به صورت Gzip فشرده می‌کند.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<IfModule mod_deflate.c>
# فشرده‌سازی خروجی فایل‌های متنی و اسکریپتی با Gzip
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE font/otf
</IfModule>
۴۷۵ 1405/06/29

غیرفعال کردن اسکریپت امبد وردپرس (Disable oEmbed)

با قرار دادن کد زیر در functions.php، فایل wp-embed.min.js کاملاً لغو ثبت شده و درخواست اضافه حذف می‌گردد.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * غیرفعال‌سازی اسکریپت wp-embed و فیلترهای تعبیه‌سازی خودکار
 */
function bisco_disable_embeds() {
    // لغو ثبت اسکریپت wp-embed در فرانت
    wp_deregister_script( 'wp-embed' );

    // حذف اندپوینت‌های REST API مربوط به امبد
    remove_action( 'rest_api_init', 'wp_oembed_register_rest_route' );

    // فیلتر کردن کش oEmbed
    add_filter( 'embed_oembed_discover', '__return_false' );

    // حذف متاتگ‌های کشف امبد در هدر
    remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
    remove_action( 'wp_head', 'wp_oembed_add_host_js' );
}
add_action( 'init', 'bisco_disable_embeds', 9999 );
۲۰۷ 1405/06/29

پیش‌واکشی دی‌ان‌اس دامنه‌های خارجی در وردپرس (DNS Prefetch)

با فیلتر wp_resource_hints دامنه‌های سرویس‌های آنالیتیکس یا درگاه را در هدر با rel=dns-prefetch معرفی کنید.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * افزودن دامنه‌های شخص ثالث به لیست پیش‌واکشی DNS در وردپرس
 */
function bisco_dns_prefetch_domains( $urls, $relation_type ) {
    if ( 'dns-prefetch' === $relation_type ) {
        $urls[] = 'https://www.googletagmanager.com';
        $urls[] = 'https://analytics.google.com';
        $urls[] = 'https://stats.wp.com';
    }
    return $urls;
}
add_filter( 'wp_resource_hints', 'bisco_dns_prefetch_domains', 10, 2 );
۴۴ 1405/06/29

ایجاد اتصال زودهنگام به دامنه‌های خارجی با Preconnect در وردپرس

با قرار دادن کد زیر در functions.php، مرورگر کاربر پیش از رسیدن به اسکریپت اصلی، اتصال امن را با دامنه‌های خارجی کلیدی برقرار می‌سازد.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * برقراری اتصال زودهنگام Preconnect به دامنه‌های خارجی حیاتی
 */
function bisco_resource_hints_preconnect( $urls, $relation_type ) {
    if ( 'preconnect' === $relation_type ) {
        // دامنه CDN استاتیک یا سرور فونت
        $urls[] = array(
            'href' => 'https://cdn.example.com',
            'crossorigin' => 'anonymous',
        );
        $urls[] = array(
            'href' => 'https://fonts.gstatic.com',
            'crossorigin' => 'anonymous',
        );
    }
    return $urls;
}
add_filter( 'wp_resource_hints', 'bisco_resource_hints_preconnect', 10, 2 );
۳۶۰ 1405/06/29

افزودن ویژگی Async به اسکریپت‌های مستقل در وردپرس (Add Async)

با استفاده از فیلتر `script_loader_tag` می‌توانید ویژگی `async` را به صورت هدفمند به هندل‌های مستقل مانند اسکریپت‌های آنالیتیکس اضافه کنید.

متوسط (Medium Risk) متوسط (Medium)
<?php
/**
 * افزودن ویژگی async به اسکریپت‌های مستقل در وردپرس
 */
function bisco_add_async_attribute( $tag, $handle ) {
    // آرایه هندل اسکریپت‌هایی که باید async شوند
    $async_handles = array(
        'google-tag-manager',
        'clarity-tracking',
        'crisp-chat',
        'yandex-metrika'
    );

    if ( in_array( $handle, $async_handles, true ) ) {
        if ( false === strpos( $tag, 'async' ) ) {
            return str_replace( ' src=', ' async="async" src=', $tag );
        }
    }

    return $tag;
}
add_filter( 'script_loader_tag', 'bisco_add_async_attribute', 10, 2 );
۱۳۰ 1405/06/29
PHP افزایش سرعت و پرفورمنس Action Hook (wp_dequeue_script)

حذف فایل‌های جاوااسکریپت غیرضروری افزونه‌ها (Remove Plugin JavaScript)

با تابع `wp_dequeue_script` در اکشن `wp_enqueue_scripts` با اولویت ۱۰۰، فایل‌های JS افزونه را در صفحات مشخص خنثی کنید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * لغو بارگذاری اسکریپت‌های جاوااسکریپت فرم تماس در صفحات بدون فرم
 */
function bisco_remove_unneeded_plugin_js() {
    // اگر صفحه دارای فرم تماس نیست، اسکریپت آن لغو شود
    if ( ! is_page( 'contact' ) ) {
        wp_dequeue_script( 'contact-form-7' );
    }

    // لغو اسکریپت‌های ووکامرس در وبلاگ
    if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
        wp_dequeue_script( 'wc-add-to-cart' );
    }
}
add_action( 'wp_enqueue_scripts', 'bisco_remove_unneeded_plugin_js', 100 );
۴۸۷ 1405/06/29

کد فعال‌سازی فشرده‌سازی بروتلی (Brotli Compression) در Nginx و Apache

اگر وب‌سرور شما از ماژول ngx_brotli در Nginx یا mod_brotli در Apache پشتیبانی می‌کند، این پیکربندی استانداردترین سطح فشرده‌سازی را اعمال می‌کند.

متوسط (Medium Risk) متوسط (Medium)
# کانفیگ بروتلی برای وب‌سرور Nginx
brotli on;
brotli_comp_level 5;
brotli_static on;
brotli_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss font/woff2;

# یا برای وب‌سرور Apache در صورت فعال بودن mod_brotli:
# <IfModule mod_brotli.c>
#     AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css application/javascript application/json
# </IfModule>
۴۵۸ 1405/06/29

کد تنظیم Cache-Control اختصاصی برای فایل‌های CSS و JavaScript در htaccess

این دستور هدر Cache-Control را با مقدار public, max-age=31536000, immutable برای استایل‌ها و اسکریپت‌ها ست می‌کند.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<IfModule mod_headers.c>
<FilesMatch "\.(css|js)$">
    Header set Cache-Control "max-age=31536000, public, immutable"
</FilesMatch>
</IfModule>
۲۲۳ 1405/06/29

سبد خرید شما

0 افزونه

سبد خرید شما خالی است

هنوز محصولی را به سبد خرید اضافه نکرده‌اید. می‌توانید از افزونه‌های اختصاصی ما دیدن فرمایید.

مشاهده فروشگاه افزونه‌ها

ثبت درخواست مشاوره

با تکمیل فرم زیر، کارشناسان فنی بیسکو وب در سریع‌ترین زمان ممکن با شما تماس می‌گیرند.

پشتیبانی و مشاوره تخصصی
پاسخگویی سریع کارشناسان
09903336117