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

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

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

تغییر متن دکمه خرید بر اساس دسته‌بندی یا نوع محصول در ووکامرس

با تابع `has_term` درون فیلتر `woocommerce_product_single_add_to_cart_text` متن دکمه را بر اساس دسته کالا تفکیک کنید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * تغییر متن دکمه خرید بر اساس دسته‌بندی و نوع محصول در ووکامرس
 */
function bisco_category_based_cart_button_text( $text ) {
    global $product;
    if ( ! $product ) {
        return $text;
    }

    $product_id = $product->get_id();

    // برای دسته دوره‌های آموزشی
    if ( has_term( 'courses', 'product_cat', $product_id ) ) {
        return 'ثبت‌نام و شرکت در دوره';
    }

    // برای دسته فایل‌ها و محصولات دانلودی
    if ( has_term( 'downloads', 'product_cat', $product_id ) || $product->is_downloadable() ) {
        return 'خرید و دانلود آنی فایل';
    }

    // برای محصولات رایگان
    if ( '0' == $product->get_price() || empty( $product->get_price() ) ) {
        return 'دریافت رایگان';
    }

    return $text;
}
add_filter( 'woocommerce_product_single_add_to_cart_text', 'bisco_category_based_cart_button_text' );
۲۳۵ 1405/06/29
PHP ووکامرس (WooCommerce) Filter Hook / Output Hook

تغییر تعداد محصولات پیشنهادی بیش‌فروشی در ووکامرس (Upsell Products Count)

با لغو اکشن پیش‌فرض و تعریف مجدد `woocommerce_upsell_display` با آرگومان‌های سفارشی (مثلاً ۳ ستونه)، نمایش آن را تنظیم کنید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * تغییر تعداد کل و تعداد ستون‌های بخش بیش‌فروشی (Upsells) ووکامرس
 */
function bisco_custom_upsell_display() {
    // ۳ محصول در یک ردیف ۳ ستونه
    woocommerce_upsell_display( 3, 3 );
}
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 );
add_action( 'woocommerce_after_single_product_summary', 'bisco_custom_upsell_display', 15 );
۵۷۵ 1405/06/29
PHP ووکامرس (WooCommerce) Filter Hook (wc_product_sku_enabled)

مخفی کردن شناسه محصول یا کد کالا در ووکامرس (Hide SKU)

با بازگرداندن `__return_false` به فیلتر `wc_product_sku_enabled`، نمایش SKU را در فرانت‌اند خاموش کنید.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * غیرفعال‌سازی و مخفی کردن نمایش شناسه کالا (SKU) در صفحات محصول ووکامرس
 */
add_filter( 'wc_product_sku_enabled', '__return_false' );
۶۰۳ 1405/06/29
PHP ووکامرس (WooCommerce) Action Hook (remove_action)

حذف کامل بخش محصولات مرتبط در ووکامرس (Remove Related Products)

با دستور `remove_action` تابع `woocommerce_output_related_products` را از هوک `woocommerce_after_single_product_summary` لغو کنید.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * حذف کامل بلوک محصولات مرتبط از صفحه تکی محصولات ووکامرس
 */
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20 );
۵۹۲ 1405/06/29
PHP ووکامرس (WooCommerce) Filter Hook (woocommerce_output_related_products_args)

تغییر تعداد محصولات مرتبط در ووکامرس (Related Products Count)

با فیلتر `woocommerce_output_related_products_args` تعداد محصولات مرتبط (posts_per_page) و تعداد ستون‌ها را تغییر دهید.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * تغییر تعداد کل و تعداد ستون‌های محصولات مرتبط در صفحه تکی محصول
 */
function bisco_related_products_args( $args ) {
    $args['posts_per_page'] = 4; // تعداد کل محصولات مرتبط
    $args['columns']        = 4; // نمایش در یک ردیف ۴ ستونه
    return $args;
}
add_filter( 'woocommerce_output_related_products_args', 'bisco_related_products_args', 20 );
۲۴۱ 1405/06/29
PHP ووکامرس (WooCommerce) Action Hook (remove_action)

حذف کامل بخش محصولات بیش‌فروشی در ووکامرس (Remove Upsells)

با اجرای دستور `remove_action('woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15);` بخش بیش‌فروشی را حذف کنید.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * حذف کامل بلوک بیش‌فروشی (Upsells) از صفحه محصول تکی ووکامرس
 */
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 );
۵۴۶ 1405/06/29
PHP ووکامرس (WooCommerce) Filter Hook (woocommerce_get_availability)

تغییر متن ناموجود بودن کالا در ووکامرس (Change Out of Stock Text)

با فیلتر `woocommerce_get_availability` متن وضعیت موجودی در زمان ناموجود بودن کالا را بازنویسی کنید.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * شخصی‌سازی متن وضعیت اتمام موجودی انبار در صفحه محصولات ووکامرس
 */
function bisco_custom_out_of_stock_text( $availability, $product ) {
    if ( ! $product->is_in_stock() ) {
        $availability['availability'] = 'این کالا موقتاً به پایان رسیده و به زودی شارژ خواهد شد.';
    }
    return $availability;
}
add_filter( 'woocommerce_get_availability', 'bisco_custom_out_of_stock_text', 10, 2 );
۳۶۷ 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 ووکامرس (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
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 ووکامرس (WooCommerce) Action Hook (remove_action)

حذف محصولات مکمل از صفحه سبد خرید ووکامرس (Remove Cart Cross-sells)

با `remove_action('woocommerce_cart_collaterals', 'woocommerce_cross_sell_display');` بخش محصولات مکمل سبد خرید را حذف کنید.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * حذف کامل محصولات فروش مکمل (Cross-sells) از صفحه سبد خرید ووکامرس
 * جهت کاهش نرخ انصراف از خرید (Cart Abandonment)
 */
remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display' );
۴۱۹ 1405/06/29
PHP ووکامرس (WooCommerce) Posts Clauses Filter

انتقال خودکار محصولات ناموجود به انتهای لیست در ووکامرس (Sort Out-of-Stock Products Last)

با فیلتر `posts_clauses` در کوئری اصلی ووکامرس، شرط مرتب‌سازی را طوری تغییر دهید که اقلام دارای موجودی اول و ناموجودها در آخر قرار گیرند.

متوسط (Medium Risk) پیشرفته (Hard)
<?php
/**
 * انتقال خودکار محصولات ناموجود به انتهای لیست در کاتالوگ فروشگاه و دسته‌بندی‌ها
 */
function bisco_sort_out_of_stock_products_last( $posts_clauses, $query ) {
    // تنها در فرانت‌اند و در کوئری اصلی آرشیو فروشگاه اعمال شود
    if ( ! is_admin() && $query->is_main_query() && ( is_shop() || is_product_taxonomy() ) ) {
        global $wpdb;

        $posts_clauses['join'] .= " LEFT JOIN {$wpdb->postmeta} AS bisco_stock ON ({$wpdb->posts}.ID = bisco_stock.post_id AND bisco_stock.meta_key = '_stock_status') ";
        $posts_clauses['orderby'] = " CASE WHEN bisco_stock.meta_value = 'outofstock' THEN 1 ELSE 0 END ASC, " . $posts_clauses['orderby'];
    }

    return $posts_clauses;
}
add_filter( 'posts_clauses', 'bisco_sort_out_of_stock_products_last', 2000, 2 );
۳۸۲ 1405/06/29

سبد خرید شما

0 افزونه

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

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

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

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

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

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