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

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

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

کد تنظیم هدر امنیتی Referrer-Policy در فایل htaccess

این کد سیاست strict-origin-when-cross-origin را اعمال می‌کند که در همان سایت آدرس کامل و در سایت‌های خارجی تنها نام دامنه را بدون پارامترهای حساس ارسال می‌کند.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<IfModule mod_headers.c>
Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
۷۴۷ 1405/06/29
PHP وردپرس (WordPress) Filter Hook (the_content)

افزودن محتوا و اعلان خودکار به ابتدای مقالات وردپرس (Content Before Post)

با فیلتر `the_content` باکس اخطار یا اعلان را قبل از `$content` الحاق کنید.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * افزودن کادر اطلاع‌رسانی مهم به بالاتر از متن اصلی تمام مقالات
 */
function bisco_prepend_content_before_post( $content ) {
    if ( is_single() && is_main_query() && 'post' === get_post_type() ) {
        $notice_box = '
        <div class="bisco-before-post-notice" style="background:#fffbeb; border-right:4px solid #f59e0b; padding:12px 16px; margin-bottom:24px; border-radius:4px;">
            <p style="margin:0; font-size:14px; color:#92400e;">
                <strong>نکته فنی:</strong> کدهای این مقاله برای PHP 8.2 و بالاتر و آخرین نسخه پایدار وردپرس بازبینی و تایید شده‌اند.
            </p>
        </div>';

        $content = $notice_box . $content;
    }

    return $content;
}
add_filter( 'the_content', 'bisco_prepend_content_before_post' );
۷۳۶ 1405/06/29

غیرفعال کردن کرون جاب پیش‌فرض وردپرس (DISABLE_WP_CRON)

با قرار دادن `define('DISABLE_WP_CRON', true);` در wp-config.php، کرون وابسته به بازدید خاموش شده و می‌توانید آن را به کرون واقعی لینوکس در هاست بسپارید.

متوسط (Medium Risk) متوسط (Medium)
/**
 * غیرفعال‌سازی کرون خودکار وابسته به ترافیک بازدیدکنندگان
 * برای سپردن اجرای وظایف به سیستم‌عامل سرور (Real Server Cron)
 */
define( 'DISABLE_WP_CRON', true );
۷۲۵ 1405/06/29

کد تنظیم هدر امنیتی X-Content-Type-Options: nosniff در htaccess

با اضافه کردن این هدر به فایل htaccess، آسیب‌پذیری‌های حملات تزریق اسکریپت از طریق فایل‌های دستکاری‌شده خنثی می‌شود.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
</IfModule>
۷۱۲ 1405/06/29

محدود کردن تعداد رونوشت‌های وردپرس (WP_POST_REVISIONS)

با قرار دادن کد `define('WP_POST_REVISIONS', 5);` در wp-config.php، وردپرس برای هر نوشته تنها ۵ رونوشت آخر را نگه‌داشته و نسخه‌های قدیمی‌تر را به شکل خودکار حذف می‌کند.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
/**
 * محدودسازی رونوشت‌های ذخیره‌شده برای نوشته‌ها و برگه‌ها
 * به حداکثر ۵ مورد به منظور بهینه‌سازی حجم دیتابیس
 */
define( 'WP_POST_REVISIONS', 5 );
۷۰۴ 1405/06/29

کد مسدودسازی دسترسی به خود فایل .htaccess

این کد هرگونه دسترسی وب به فایل‌های دارای پیشوند htaccess یا htpasswd را مسدود می‌کند.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
# مسدودسازی دسترسی به فایل‌های htaccess و htpasswd
<Files ~ "^.*\.([Hh][Tt][AaPp])">
<IfModule mod_authz_core.c>
    Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
    Order deny,allow
    Deny from all
</IfModule>
</Files>
۶۹۴ 1405/06/29
PHP سئو تکنیکال (Technical SEO) Schema Generator Hook

اسکیمای مسیر راهنما در وردپرس (BreadcrumbList Schema JSON-LD)

با تزریق ساختار `BreadcrumbList` در هوک `wp_head` برای نوشته‌های تکی، سلسله مراتب کامل صفحه را به صورت JSON-LD به گوگل ارائه دهید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * تولید خودکار اسکیمای مسیر راهنما (BreadcrumbList) برای نوشته‌های وبلاگ
 */
function bisco_output_breadcrumb_schema() {
    if ( ! is_single() ) {
        return;
    }

    global $post;
    $breadcrumbs = array();

    // گام اول: صفحه نخست
    $breadcrumbs[] = array(
        '@type'    => 'ListItem',
        'position' => 1,
        'name'     => 'صفحه اصلی',
        'item'     => esc_url( home_url( '/' ) ),
    );

    $position = 2;

    // گام دوم: دسته اول نوشته
    $categories = get_the_category( $post->ID );
    if ( ! empty( $categories ) ) {
        $first_cat = $categories[0];
        $breadcrumbs[] = array(
            '@type'    => 'ListItem',
            'position' => $position,
            'name'     => esc_html( $first_cat->name ),
            'item'     => esc_url( get_category_link( $first_cat->term_id ) ),
        );
        $position++;
    }

    // گام سوم: نوشته جاری
    $breadcrumbs[] = array(
        '@type'    => 'ListItem',
        'position' => $position,
        'name'     => esc_html( get_the_title( $post ) ),
        'item'     => esc_url( get_permalink( $post ) ),
    );

    $schema = array(
        '@context'        => 'https://schema.org',
        '@type'           => 'BreadcrumbList',
        'itemListElement' => $breadcrumbs,
    );

    echo '<script type="application/ld+json">' . wp_json_encode( $schema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ) . '</script>' . "
";
}
add_action( 'wp_head', 'bisco_output_breadcrumb_schema', 3 );
۶۸۵ 1405/06/29
PHP ووکامرس (WooCommerce) Filter Hook (loop_shop_per_page)

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

با فیلتر `loop_shop_per_page` عدد دلخواه (مثلاً ۱۶ یا ۲۴) را بازگردانید.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * تغییر تعداد محصولات نمایش داده شده در هر صفحه فروشگاه به ۲۴ عدد
 */
function bisco_woocommerce_products_per_page( $cols ) {
    return 24; // تعداد محصولات در هر صفحه
}
add_filter( 'loop_shop_per_page', 'bisco_woocommerce_products_per_page', 20 );
۶۸۱ 1405/06/29
PHP سئو تکنیکال (Technical SEO) Filter Hook (wp_robots)

تنظیم شرطی متاتگ‌های روبات‌ها در وردپرس (Conditional Meta Robots)

با فیلتر `wp_robots`، متاتگ `noindex,follow` را برای صفحات جستجو و صفحات آرشیو با شماره صفحه (paged) تنظیم کنید.

متوسط (Medium Risk) متوسط (Medium)
<?php
/**
 * کنترل شرطی متاتگ‌های ایندکس ربات‌ها در صفحات مختلف
 */
function bisco_conditional_meta_robots( $robots ) {
    // اعمال noindex در صفحات نتایج جستجو
    if ( is_search() ) {
        $robots['noindex'] = true;
        $robots['follow']  = true;
    }

    // اعمال noindex در آرشیو تاریخ (سالانه/ماهانه)
    if ( is_date() ) {
        $robots['noindex'] = true;
        $robots['follow']  = true;
    }

    // اعمال noindex روی صفحات شماره‌دار (صفحه ۲ به بعد آرشیوها) جهت تمرکز اعتبار
    if ( is_paged() ) {
        $robots['noindex'] = true;
        $robots['follow']  = true;
    }

    return $robots;
}
add_filter( 'wp_robots', 'bisco_conditional_meta_robots' );
۶۸۰ 1405/06/29
PHP ووکامرس (WooCommerce) Filter Hook (woocommerce_product_tabs)

حذف تب اطلاعات بیشتر (مشخصات فنی) در ووکامرس (Remove Additional Information Tab)

با دستور `unset($tabs['additional_information']);` در فیلتر `woocommerce_product_tabs` تب اطلاعات بیشتر را کاملاً بردارید.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * حذف کامل زبانه اطلاعات بیشتر (Additional Information) در ووکامرس
 */
function bisco_remove_additional_information_tab( $tabs ) {
    unset( $tabs['additional_information'] );
    return $tabs;
}
add_filter( 'woocommerce_product_tabs', 'bisco_remove_additional_information_tab', 98 );
۶۷۹ 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
PHP سئو تکنیکال (Technical SEO) Schema Generator Hook

اسکیمای ساختاریافته محصول ووکامرس (Product Schema JSON-LD)

با خواندن شیء محصول توسط `wc_get_product` اسکیمای کامل قیمت و موجودی را با فرمت JSON-LD تزریق کنید.

متوسط (Medium Risk) پیشرفته (Hard)
<?php
/**
 * تولید اسکیمای جامع و اختصاصی محصول ووکامرس (Product Schema) سازگار با HPOS
 */
function bisco_output_product_schema() {
    if ( ! function_exists( 'is_product' ) || ! is_product() ) {
        return;
    }

    $product = wc_get_product( get_the_ID() );
    if ( ! $product ) {
        return;
    }

    $image_id  = $product->get_image_id();
    $image_url = $image_id ? wp_get_attachment_url( $image_id ) : home_url( '/placeholder.jpg' );

    $schema = array(
        '@context'    => 'https://schema.org',
        '@type'       => 'Product',
        'name'        => esc_html( $product->get_name() ),
        'image'       => array( esc_url( $image_url ) ),
        'description' => esc_html( wp_strip_all_tags( $product->get_short_description() ?: $product->get_description() ) ),
        'sku'         => esc_html( $product->get_sku() ?: 'SKU-' . $product->get_id() ),
        'offers'      => array(
            '@type'           => 'Offer',
            'url'             => esc_url( get_permalink( $product->get_id() ) ),
            'priceCurrency'   => get_woocommerce_currency(),
            'price'           => $product->get_price() ?: '0',
            'priceValidUntil' => gmdate( 'Y-12-31', strtotime( '+1 year' ) ),
            'availability'    => $product->is_in_stock() ? 'https://schema.org/InStock' : 'https://schema.org/OutOfStock',
            'itemCondition'   => 'https://schema.org/NewCondition',
        ),
    );

    // افزودن امتیاز خریداران در صورت وجود
    if ( $product->get_rating_count() > 0 ) {
        $schema['aggregateRating'] = array(
            '@type'       => 'AggregateRating',
            'ratingValue' => $product->get_average_rating(),
            'reviewCount' => $product->get_rating_count(),
        );
    }

    echo '<script type="application/ld+json">' . wp_json_encode( $schema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ) . '</script>' . "
";
}
add_action( 'wp_head', 'bisco_output_product_schema', 5 );
۶۷۴ 1405/06/29

سبد خرید شما

0 افزونه

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

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

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

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

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

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