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

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

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

غیرفعال کردن اموجی‌های پیش‌فرض وردپرس جهت بهبود سرعت (Disable Emojis)

با قرار دادن کد زیر در functions.php، اسکریپت‌های زائد اموجی وردپرس حذف شده و سرعت لود و نمره Core Web Vitals بهبود می‌یابد.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * غیرفعال‌سازی کدهای جاوااسکریپت و استایل‌های مربوط به ایموجی وردپرس
 */
function bisco_disable_emojis() {
    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
    remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
    remove_action( 'wp_print_styles', 'print_emoji_styles' );
    remove_action( 'admin_print_styles', 'print_emoji_styles' );
    remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
    remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
    remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
    add_filter( 'tiny_mce_plugins', 'bisco_disable_emojis_tinymce' );
    add_filter( 'wp_resource_hints', 'bisco_disable_emojis_dns_prefetch', 10, 2 );
}
add_action( 'init', 'bisco_disable_emojis' );

function bisco_disable_emojis_tinymce( $plugins ) {
    return is_array( $plugins ) ? array_diff( $plugins, array( 'wpemoji' ) ) : array();
}

function bisco_disable_emojis_dns_prefetch( $urls, $relation_type ) {
    if ( 'dns-prefetch' === $relation_type ) {
        $emoji_svg_url = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/' );
        $urls = array_diff( $urls, array( $emoji_svg_url ) );
    }
    return $urls;
}
۲۳۷ 1405/06/29
PHP ووکامرس (WooCommerce) Filter Hook (loop_shop_columns)

تغییر تعداد ستون‌های محصولات در فروشگاه ووکامرس (Products Per Row)

با فیلتر `loop_shop_columns` تعداد ستون‌ها را بر روی ۴ یا عدد دلخواه تنظیم کنید.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * تغییر تعداد ستون‌های شبکه محصولات در فروشگاه به ۴ ستون
 */
function bisco_woocommerce_loop_columns() {
    return 4; // تعداد ستون‌ها در هر سطر
}
add_filter( 'loop_shop_columns', 'bisco_woocommerce_loop_columns', 99 );
۳۶۹ 1405/06/29
PHP افزایش سرعت و پرفورمنس Conditional Enqueue Hook

بارگذاری شرطی فایل‌های جاوااسکریپت در وردپرس (Conditional JavaScript)

با تابع `wp_enqueue_script` درون شرط‌هایی مانند `is_front_page()` یا شناسه برگه، فایل‌های JS را تنها در صفحه هدف لود کنید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * بارگذاری شرطی اسکریپت‌های جاوااسکریپت در صفحات نیازمند
 */
function bisco_conditional_enqueue_scripts() {
    // بارگذاری کتابخانه اسلایدر فقط در صفحه نخست
    if ( is_front_page() ) {
        wp_enqueue_script(
            'bisco-home-slider',
            get_stylesheet_directory_uri() . '/assets/js/slider.js',
            array(),
            '1.0.0',
            true // بارگذاری در فوتر
        );
    }

    // بارگذاری فایل نقشه‌های تعاملی فقط در برگه نمایندگی‌ها
    if ( is_page( 'branches' ) ) {
        wp_enqueue_script(
            'bisco-map-script',
            get_stylesheet_directory_uri() . '/assets/js/leaflet-map.js',
            array(),
            '1.0.0',
            true
        );
    }
}
add_action( 'wp_enqueue_scripts', 'bisco_conditional_enqueue_scripts' );
۶۷۷ 1405/06/29
BASH سرور و هاستینگ (Server) Crontab / CLI command

تنظیم کرون جاب واقعی سرور برای وردپرس (Real Server Cron)

یک کرون جاب در cPanel با بازه هر ۱۰ دقیقه با دستور `wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1` ثبت کنید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
# روش اول: استفاده از Wget (سازگار با کلیه هاست‌های اشتراکی)
*/10 * * * * wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

# روش دوم: استفاده از cURL
*/10 * * * * curl -s https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

# روش سوم: استفاده از WP-CLI (سریع‌ترین و پایدارترین روش در سرور اختصاصی و VPS)
*/10 * * * * cd /home/username/public_html && wp cron event run --due-now >/dev/null 2>&1
۶۶۱ 1405/06/29
PHP سئو تکنیکال (Technical SEO) Filter Hook (robots_txt)

شخصی‌سازی فایل robots.txt مجازی در وردپرس (Customize robots.txt)

با فیلتر `robots_txt` متن استاندارد شامل مسدودسازی `/wp-admin/`، `/cart/` و معرفی نقشه سایت را تزریق کنید.

متوسط (Medium Risk) متوسط (Medium)
<?php
/**
 * شخصی‌سازی دستورات فایل مجازی robots.txt در وردپرس
 */
function bisco_custom_robots_txt( $output, $public ) {
    // اگر سایت در حالت عمومی (نمایه برای موتورهای جستجو) قرار دارد
    if ( '1' === $public ) {
        $rules  = "User-agent: *
";
        $rules .= "Disallow: /wp-admin/
";
        $rules .= "Allow: /wp-admin/admin-ajax.php
";
        $rules .= "Disallow: /cart/
";
        $rules .= "Disallow: /checkout/
";
        $rules .= "Disallow: /my-account/
";
        $rules .= "Disallow: /*?add-to-cart=*
";
        $rules .= "Disallow: /author/
";
        $rules .= "
";
        $rules .= "Sitemap: " . esc_url( home_url( '/wp-sitemap.xml' ) ) . "
";

        return $rules;
    }

    return $output;
}
add_filter( 'robots_txt', 'bisco_custom_robots_txt', 10, 2 );
۵۰۸ 1405/06/29

غیرفعال کردن ویرایشگر فایل در پیشخوان وردپرس (DISALLOW_FILE_EDIT)

کد `define('DISALLOW_FILE_EDIT', true);` را قبل از خط `/* That's all, stop editing! */` در فایل wp-config.php قرار دهید تا ویرایشگر کدهای قالب و افزونه در پیشخوان ناپدید شود.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
/**
 * غیرفعال‌سازی ویرایشگر داخلی قالب‌ها و افزونه‌ها
 * جهت جلوگیری از دستکاری کدها در صورت نفوذ به پنل ادمین
 */
define( 'DISALLOW_FILE_EDIT', true );
۱۴۱ 1405/06/29
PHP ووکامرس (WooCommerce) Filter Hook (woocommerce_quantity_input_min)

تعیین حداقل تعداد خرید محصول در ووکامرس (Minimum Product Quantity)

با فیلتر `woocommerce_quantity_input_min` کف سفارش را بر روی عدد دلخواه (مثلاً ۵ عدد) تنظیم کنید.

متوسط (Medium Risk) متوسط (Medium)
<?php
/**
 * تعیین حداقل تعداد قابل خرید برای محصولات در ووکامرس
 */
function bisco_set_minimum_product_quantity( $min, $product ) {
    // حداقل سفارش برای تمام محصولات (یا یک دسته خاص) ۳ عدد باشد
    return 3;
}
add_filter( 'woocommerce_quantity_input_min', 'bisco_set_minimum_product_quantity', 10, 2 );

// تنظیم مقدار پیش‌فرض فیلد تعداد روی حداقل سفارش
function bisco_set_default_input_quantity( $args, $product ) {
    $args['input_value'] = 3;
    return $args;
}
add_filter( 'woocommerce_quantity_input_args', 'bisco_set_default_input_quantity', 10, 2 );
۵۴۰ 1405/06/29

حذف پست‌تایپ سفارشی از نقشه سایت وردپرس (Remove Post Type from Sitemap)

با فیلتر `wp_sitemaps_post_types` نام پست‌تایپ مورد نظر را از آرایه نقشه‌های سایت وردپرس حذف کنید.

متوسط (Medium Risk) متوسط (Medium)
<?php
/**
 * حذف پست‌تایپ‌های خاص از نقشه سایت بومی وردپرس (wp-sitemap.xml)
 */
function bisco_remove_cpt_from_sitemap( $post_types ) {
    // حذف پست‌تایپ اسلایدر و پاپ‌آپ‌ها از نقشه سایت
    unset( $post_types['slider'] );
    unset( $post_types['popup_builder'] );
    unset( $post_types['team_member'] );

    return $post_types;
}
add_filter( 'wp_sitemaps_post_types', 'bisco_remove_cpt_from_sitemap' );
۲۹۲ 1405/06/29

حذف استایل Dashicons برای کاربران مهمان در وردپرس (Remove Dashicons)

با قرار دادن کد زیر در functions.php، استایل dashicons برای تمام کاربرانی که لاگین نکرده‌اند لغو ثبت (deregister) می‌شود.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * غیرفعال‌سازی بارگذاری Dashicons در فرانت‌اند برای کاربران مهمان
 */
function bisco_remove_dashicons_for_guests() {
    if ( ! is_user_logged_in() ) {
        wp_deregister_style( 'dashicons' );
    }
}
add_action( 'wp_enqueue_scripts', 'bisco_remove_dashicons_for_guests', 100 );
۶۱۴ 1405/06/29
PHP وردپرس (WordPress) Admin Column Filter & Action

افزودن ستون‌های سفارشی به جدول مدیریت وردپرس (Custom Admin Columns)

با فیلتر `manage_posts_columns` ستون را تعریف کرده و با اکشن `manage_posts_custom_column` محتوای تصویر شاخص را در آن چاپ کنید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * افزودن ستون تصویر شاخص و تعداد بازدید به جدول نوشته‌های پیشخوان ادمین
 */
function bisco_add_admin_columns( $columns ) {
    $new_columns = array();
    foreach ( $columns as $key => $title ) {
        $new_columns[ $key ] = $title;
        // قرار دادن ستون تصویر دقیقاً بعد از عنوان
        if ( 'title' === $key ) {
            $new_columns['bisco_thumb'] = 'تصویر شاخص';
            $new_columns['bisco_views'] = 'تعداد بازدید';
        }
    }
    return $new_columns;
}
add_filter( 'manage_posts_columns', 'bisco_add_admin_columns' );

// پر کردن داده‌های ستون‌های سفارشی
function bisco_render_admin_columns( $column, $post_id ) {
    if ( 'bisco_thumb' === $column ) {
        if ( has_post_thumbnail( $post_id ) ) {
            echo get_the_post_thumbnail( $post_id, array( 50, 50 ), array( 'style' => 'border-radius:6px; object-fit:cover;' ) );
        } else {
            echo '<span style="color:#999;">—</span>';
        }
    }

    if ( 'bisco_views' === $column ) {
        $views = (int) get_post_meta( $post_id, 'bisco_post_views_count', true );
        echo esc_html( number_format_i18n( $views ) );
    }
}
add_action( 'manage_posts_custom_column', 'bisco_render_admin_columns', 10, 2 );
۵۷۸ 1405/06/29

غیرفعال کردن تولید سایزهای بلااستفاده تصاویر در وردپرس (Remove Unused Image Sizes)

با فیلتر `intermediate_image_sizes_advanced`، سایزهایی که در قالب استفاده نمی‌کنید (نظیر 1536x1536 یا 2048x2048) را از لیست تولید حذف کنید.

متوسط (Medium Risk) متوسط (Medium)
<?php
/**
 * جلوگیری از تولید سایزهای غیرضروری تصاویر در وردپرس
 */
function bisco_disable_unused_image_sizes( $sizes ) {
    // حذف سایزهای پیش‌فرض بی‌استفاده وردپرس
    unset( $sizes['medium_large'] ); // 768px
    unset( $sizes['1536x1536'] );    // 2x Medium Large
    unset( $sizes['2048x2048'] );    // 2x Large

    return $sizes;
}
add_filter( 'intermediate_image_sizes_advanced', 'bisco_disable_unused_image_sizes' );
۱۱۱ 1405/06/29
PHP وردپرس (WordPress) Custom Helper & Shortcode

محاسبه و نمایش زمان تقریبی مطالعه نوشته در وردپرس (Reading Time)

با کد زیر تعداد کلمات متن شمرده شده و بر اساس سرعت استاندارد ۲۰۰ کلمه در دقیقه، زمان تقریبی با شورت‌کد `[reading_time]` چاپ می‌شود.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * محاسبه خودکار زمان تقریبی مطالعه بر اساس تعداد کلمات متن فارسی/انگلیسی
 * نحوه استفاده: [reading_time] یا فراخوانی تابع bisco_get_reading_time() در پوسته
 */
function bisco_get_reading_time( $post_id = null ) {
    $post = get_post( $post_id );
    if ( ! $post ) {
        return '';
    }

    $content = strip_shortcodes( $post->post_content );
    $clean_content = wp_strip_all_tags( $content );

    // شمارش کلمات برای متون فارسی و یونیکد
    $word_count = count( preg_split( '/\s+/u', trim( $clean_content ) ) );

    // سرعت میانگین مطالعه: ۲۰۰ کلمه در دقیقه
    $reading_time = ceil( $word_count / 200 );

    if ( $reading_time < 1 ) {
        $reading_time = 1;
    }

    return sprintf( '%d دقیقه', $reading_time );
}

add_shortcode( 'reading_time', function() {
    $time = bisco_get_reading_time( get_the_ID() );
    return '<span class="bisco-reading-time"><i class="dashicons dashicons-clock"></i> زمان مطالعه: ' . esc_html( $time ) . '</span>';
} );
۲۴۲ 1405/06/29

سبد خرید شما

0 افزونه

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

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

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

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

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

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