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

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

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

تغییر پوشه پیش‌فرض آپلودهای وردپرس (UPLOADS)

کد `define('UPLOADS', 'media');` را در wp-config.php قرار دهید تا رسانه‌ها مستقیماً در پوشه `site.com/media` ذخیره و آدرس‌دهی شوند.

متوسط (Medium Risk) متوسط (Medium)
/**
 * تغییر مسیر ذخیره فایل‌های چندرسانه‌ای وردپرس
 * توجه: مسیر نسبت به شاخه اصلی سایت (ABSPATH) سنجیده می‌شود.
 */
define( 'UPLOADS', 'media' );
۳۲۶ 1405/06/29
PHP سئو تکنیکال (Technical SEO) Schema Generator Hook

اسکیمای ساختاریافته سازمان و کسب‌وکار در وردپرس (Organization Schema JSON-LD)

با هوک `wp_head` یک بلاک اسکریپت `application/ld+json` معتبر حاوی اطلاعات برند و شبکه‌های اجتماعی در صفحه اصلی درج کنید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * تزریق اسکیمای معتبر داده‌های سازمان (Organization) به صورت JSON-LD در هدر
 */
function bisco_output_organization_schema() {
    // اسکیمای سازمان را منحصراً در صفحه اصلی درج می‌کنیم تا از تکرار در کل صفحات پرهیز شود
    if ( ! is_front_page() ) {
        return;
    }

    $schema = array(
        '@context'      => 'https://schema.org',
        '@type'         => 'Organization',
        '@id'           => esc_url( home_url( '/#organization' ) ),
        'name'          => get_bloginfo( 'name' ),
        'url'           => esc_url( home_url( '/' ) ),
        'logo'          => array(
            '@type'  => 'ImageObject',
            'url'    => esc_url( home_url( '/logo.png' ) ), // نشانی مستقیم فایل لوگوی رسمی
            'width'  => 512,
            'height' => 512,
        ),
        'contactPoint'  => array(
            '@type'             => 'ContactPoint',
            'telephone'         => '+98-21-12345678',
            'contactType'       => 'customer service',
            'areaServed'        => 'IR',
            'availableLanguage' => array( 'Persian' ),
        ),
        'sameAs'        => array(
            'https://www.instagram.com/yourbrand',
            'https://t.me/yourbrand',
            'https://x.com/yourbrand',
            'https://www.linkedin.com/company/yourbrand',
        ),
    );

    echo '<script type="application/ld+json">' . wp_json_encode( $schema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT ) . '</script>' . "
";
}
add_action( 'wp_head', 'bisco_output_organization_schema', 2 );
۲۰۸ 1405/06/29
PHP وردپرس (WordPress) Shortcode API

نحوه ساخت شورت‌کد سفارشی در وردپرس (WordPress Shortcode)

با تابع `add_shortcode` و استفاده صحیح از خروجی رشته‌ای (return به جای echo) شورت‌کد سفارشی بسازید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * ساخت شورت‌کد باکس پیام و هشدار سفارشی
 * نحوه استفاده در متن: [bisco_alert type="success"]متن پیام شما[/bisco_alert]
 */
function bisco_alert_box_shortcode( $atts, $content = null ) {
    $atts = shortcode_atts( array(
        'type' => 'info', // پیش‌فرض: info, warning, success, error
    ), $atts, 'bisco_alert' );

    $type_class = sanitize_html_class( $atts['type'] );
    $output = '<div class="bisco-alert-box alert-' . esc_attr( $type_class ) . '">';
    $output .= do_shortcode( $content );
    $output .= '</div>';

    return $output;
}
add_shortcode( 'bisco_alert', 'bisco_alert_box_shortcode' );
۳۰۳ 1405/06/29

کد فعال‌سازی هدر CORS برای فونت‌های وب در فایل htaccess

با این دستور هدر Access-Control-Allow-Origin روی پسوندهای فونت وب ست شده و مشکل لود نشدن آیکون‌ها و فونت‌ها از CDN حل می‌شود.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<IfModule mod_headers.c>
<FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font.css)$">
    Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
۴۷۸ 1405/06/29
PHP ووکامرس (WooCommerce) Filter Hook (woocommerce_quantity_input_step)

تنظیم گام شمارش و ضریب تعداد خرید در ووکامرس (Product Quantity Step)

با فیلتر `woocommerce_quantity_input_step` گام افزایش/کاهش تعداد محصول را روی ضریب دلخواه (مثلاً ۵ یا ۶) تنظیم نمایید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * تنظیم گام افزایش و ضریب شمارش تعداد محصول (مثلاً مضرب‌های ۵تایی: ۵، ۱۰، ۱۵، ۲۰)
 */
function bisco_set_quantity_step( $step, $product ) {
    return 5; // هر کلیک ۵ عدد اضافه کند
}
add_filter( 'woocommerce_quantity_input_step', 'bisco_set_quantity_step', 10, 2 );
۳۴۶ 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

حذف تاکسونومی سفارشی از نقشه سایت وردپرس (Remove Taxonomy from Sitemap)

با فیلتر `wp_sitemaps_taxonomies`، تاکسونومی‌های مورد نظر (مثلاً post_tag یا ویژگی‌های ووکامرس) را از sitemap حذف نمایید.

متوسط (Medium Risk) متوسط (Medium)
<?php
/**
 * حذف برچسب‌ها و تاکسونومی‌های دلخواه از نقشه سایت بومی وردپرس
 */
function bisco_remove_taxonomies_from_sitemap( $taxonomies ) {
    // حذف برچسب‌های پیش‌فرض نوشته‌ها
    unset( $taxonomies['post_tag'] );

    // حذف فرمت‌های نوشته
    unset( $taxonomies['post_format'] );

    return $taxonomies;
}
add_filter( 'wp_sitemaps_taxonomies', 'bisco_remove_taxonomies_from_sitemap' );
۴۵۴ 1405/06/29

کد جلوگیری از هات‌لینک تصاویر در وب‌سرور آپاچی (Prevent Image Hotlinking)

با این دستور در htaccess، اگر دامنه درخواست‌کننده عکس جزو دامنه‌های مجاز شما نباشد، تصویر مسدود شده و خطای 403 برگردانده می‌شود.

متوسط (Medium Risk) متوسط (Medium)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example\.com [NC]
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?google\. [NC]
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?bing\. [NC]
RewriteRule \.(jpe?g|png|gif|webp|avif|bmp)$ - [F,NC]
</IfModule>
۶۶۶ 1405/06/29
PHP ووکامرس (WooCommerce) Filter Hook (woocommerce_product_tabs)

تغییر نام تب توضیحات در ووکامرس (Rename Description Tab)

با فیلتر `woocommerce_product_tabs` مقدار `$tabs['description']['title']` را به نام جدید تغییر دهید.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * تغییر نام زبانه پیش‌فرض «توضیحات» در صفحه محصول ووکامرس
 */
function bisco_rename_description_tab( $tabs ) {
    if ( isset( $tabs['description'] ) ) {
        $tabs['description']['title'] = 'نقد و بررسی تخصصی';
    }
    return $tabs;
}
add_filter( 'woocommerce_product_tabs', 'bisco_rename_description_tab', 98 );
۴۹۳ 1405/06/29

افزایش محدودیت حافظه رم وردپرس (WP_MEMORY_LIMIT)

کدهای زیر را در wp-config.php وارد کنید تا سقف حافظه بخش فرانت به 256M و پیشخوان ادمین به 512M ارتقا یابد.

متوسط (Medium Risk) مبتدی (Easy)
/**
 * تخصیص حافظه مجاز رم برای فرانت‌اند و پیشخوان ادمین وردپرس
 */
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
۵۱۴ 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

افزودن ویژگی 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

سبد خرید شما

0 افزونه

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

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

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

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

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

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