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

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

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

افزودن تب سفارشی به صفحه محصول در ووکامرس (Add Custom Product Tab)

با فیلتر `woocommerce_product_tabs` یک کلید جدید با عنوان و متد کال‌بک بسازید و محتوای دلخواه را درون آن اکو کنید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * افزودن زبانه سفارشی «شرایط ارسال و گارانتی» به صفحه محصول ووکامرس
 */
function bisco_add_custom_product_tab( $tabs ) {
    $tabs['bisco_warranty_tab'] = array(
        'title'    => 'گارانتی و شرایط ارسال',
        'priority' => 50,
        'callback' => 'bisco_render_warranty_tab_content',
    );
    return $tabs;
}
add_filter( 'woocommerce_product_tabs', 'bisco_add_custom_product_tab' );

// محتوای نمایش داده شده درون زبانه سفارشی
function bisco_render_warranty_tab_content() {
    echo '<h3>ضمانت اصالت و بازگشت وجه بیسکووب</h3>';
    echo '<p>کلیه محصولات ارائه شده دارای ضمانت اصالت ۱۰۰٪، ۷ روز مهلت تست فنی و بازگشت وجه، و پشتیبانی تخصصی آنلاین هستند.</p>';
    echo '<ul>';
    echo '<li>ارسال اکسپرس ظرف ۲۴ الی ۴۸ ساعت کاری</li>';
    echo '<li>بسته‌بندی ایمن و مقاوم در برابر ضربه</li>';
    echo '<li>امکان پیگیری لحظه‌ای مرسوله با کد رهگیری پستی</li>';
    echo '</ul>';
}
۳۸۴ 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
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 ووکامرس (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_quantity_input_max)

تعیین حداکثر تعداد خرید مجاز محصول در ووکامرس (Maximum Product Quantity)

با فیلتر `woocommerce_quantity_input_max` حداکثر سفارش مجاز (مثلاً حداکثر ۲ عدد در هر سفارش) را قفل کنید.

متوسط (Medium Risk) متوسط (Medium)
<?php
/**
 * محدودسازی حداکثر تعداد سفارش هر محصول در سبد خرید به ۲ عدد
 */
function bisco_set_maximum_product_quantity( $max, $product ) {
    // سقف خرید برای هر فاکتور ۲ عدد
    return 2;
}
add_filter( 'woocommerce_quantity_input_max', 'bisco_set_maximum_product_quantity', 10, 2 );
۳۲۶ 1405/06/29
PHP ووکامرس (WooCommerce) Filter Hook (woocommerce_sale_flash)

شخصی‌سازی بج تخفیف یا حراج در ووکامرس (Customize Sale Badge)

با فیلتر `woocommerce_sale_flash` درصد اختلاف قیمت عادی و حراج را محاسبه کرده و در بج چاپ کنید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * نمایش درصد واقعی تخفیف به صورت پویا درون بج حراج محصولات ووکامرس
 */
function bisco_custom_sale_percentage_badge( $html, $post, $product ) {
    if ( ! $product->is_on_sale() ) {
        return $html;
    }

    $regular_price = (float) $product->get_regular_price();
    $sale_price    = (float) $product->get_sale_price();

    if ( $regular_price > 0 && $sale_price > 0 ) {
        $percentage = round( ( ( $regular_price - $sale_price ) / $regular_price ) * 100 );
        return '<span class="onsale bisco-sale-badge">' . esc_html( $percentage ) . '٪ تخفیف</span>';
    }

    return '<span class="onsale">حراج ویژه</span>';
}
add_filter( 'woocommerce_sale_flash', 'bisco_custom_sale_percentage_badge', 20, 3 );
۲۵۶ 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) 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

سبد خرید شما

0 افزونه

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

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

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

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

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

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