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

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

۱۰۰ قطعه کد آماده ۴۰۵۴۸ بار استفاده و کپی شده ۱۰۰٪ تست‌شده و ایمن
فضای کار توسعه و مهندسی کد استودیو بیسکو وب
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) 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 ووکامرس (WooCommerce) Filter Hook (woocommerce_product_tabs)

تغییر ترتیب تب‌های صفحه محصول در ووکامرس (Reorder Product Tabs)

با فیلتر `woocommerce_product_tabs`، کلید `'priority'` هر تب را بر اساس ترتیب دلخواه خود بازنویسی کنید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * تغییر ترتیب قرارگیری زبانه‌های صفحه محصول ووکامرس
 */
function bisco_reorder_product_tabs( $tabs ) {
    // تب نظرات کاربران در جایگاه اول قرار گیرد
    if ( isset( $tabs['reviews'] ) ) {
        $tabs['reviews']['priority'] = 10;
    }

    // تب توضیحات تکمیلی در جایگاه دوم
    if ( isset( $tabs['description'] ) ) {
        $tabs['description']['priority'] = 20;
    }

    // تب اطلاعات بیشتر (مشخصات فنی) در جایگاه سوم
    if ( isset( $tabs['additional_information'] ) ) {
        $tabs['additional_information']['priority'] = 30;
    }

    return $tabs;
}
add_filter( 'woocommerce_product_tabs', 'bisco_reorder_product_tabs', 98 );
۶۴۳ 1405/06/29
PHP ووکامرس (WooCommerce) CRUD & HPOS API

دریافت اطلاعات سفارش سازگار با دیتابیس HPOS ووکامرس (High-Performance Order Storage)

با متد `Automattic\\WooCommerce\\Utilities\\OrderUtil::custom_orders_table_usage_is_enabled()` سازگاری را بررسی کرده و داده‌ها را با شیء `$order->get_...()` به جای `get_post_meta` مدیریت نمایید.

حساس و پرخطر (High Risk) پیشرفته (Hard)
<?php
use Automattic\WooCommerce\Utilities\OrderUtil;

/**
 * اعلام رسمی سازگاری قالب/پلاگین با معماری HPOS ووکامرس
 */
add_action( 'before_woocommerce_init', function() {
    if ( class_exists( '\Automattic\WooCommerce\Utilities\FeaturesUtil' ) ) {
        \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', __FILE__, true );
    }
} );

/**
 * دریافت و پردازش اطلاعات سفارش با متدهای CRUD کاملاً سازگار با HPOS
 */
function bisco_process_hpos_compatible_order( $order_id ) {
    // واکشی امن شیء سفارش بدون در نظر گرفتن محل فیزیکی ذخیره در دیتابیس
    $order = wc_get_order( $order_id );
    if ( ! $order ) {
        return;
    }

    // بررسی اینکه آیا سیستم در حالت HPOS اختصاصی کار می‌کند
    $is_hpos_active = OrderUtil::custom_orders_table_usage_is_enabled();

    // روش استاندارد خواندن اطلاعات اصلی سفارش
    $customer_id    = $order->get_customer_id();
    $order_total    = $order->get_total();
    $billing_email  = $order->get_billing_email();
    $billing_phone  = $order->get_billing_phone();
    $payment_method = $order->get_payment_method_title();

    // روش استاندارد ذخیره و خواندن متای اختصاصی (بدون get_post_meta)
    $tracking_code = $order->get_meta( '_bisco_post_tracking_code', true );

    // به‌روزرسانی متای سفارش با متد CRUD
    $order->update_meta_data( '_bisco_processed_at', current_time( 'mysql' ) );
    $order->save(); // ذخیره خودکار در جدول صحیح (چه wp_posts باشد چه wp_wc_orders)
}

/**
 * واکشی سفارش‌های در حال پردازش با wc_get_orders به جای WP_Query سنتی
 */
function bisco_get_recent_processing_orders() {
    $args = array(
        'status'  => array( 'wc-processing' ),
        'limit'   => 10,
        'orderby' => 'date',
        'order'   => 'DESC',
        'return'  => 'ids',
    );

    // این تابع به صورت هوشمند از جداول سریع HPOS کوئری می‌زند
    $order_ids = wc_get_orders( $args );

    return $order_ids;
}
۶۳۹ 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 / 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) 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_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

تغییر متن دکمه افزودن به سبد خرید در ووکامرس (Change Add to Cart Text)

با دو فیلتر `woocommerce_product_single_add_to_cart_text` و `woocommerce_product_add_to_cart_text` متن دکمه را در صفحه محصول و آرشیو تغییر دهید.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * تغییر متن دکمه افزودن به سبد خرید در صفحه محصول تکی و صفحات آرشیو فروشگاه
 */
function bisco_custom_add_to_cart_text( $text ) {
    return 'سفارش آنلاین و پرداخت';
}
add_filter( 'woocommerce_product_single_add_to_cart_text', 'bisco_custom_add_to_cart_text' );
add_filter( 'woocommerce_product_add_to_cart_text', 'bisco_custom_add_to_cart_text' );
۵۰۳ 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) 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

سبد خرید شما

0 افزونه

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

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

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

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

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

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