رفتن به نوشته‌ها

سازماندهی محصولات ناموجود در ووکامروس

زمانی که محصولات تمام می شود، محصول ناموجود به همراه قیمت آن در کنار بقیه محصولات نمایش داده می شود . مشتری برای مطلع شدن از اینکه این محصول موجود نیست باید روی آن کلیک کنید و در صحفحه باز شده متوجه عدم موجودی می شود. برای سامان دهی این مشکل کدهای زیر را در انتهای توابع پوسته (functions.php) اضافه میکنیم.

قطعه کد ابتدایی محصولات ناموجود را در انتهای سایت نمایش می دهد. به این ترتیب مرز بندی بین محصولات موجود و ناموجود ایجا می گردد.

قطعه کد دوم باعث میشود که محصولاتی که موجود نیستند بدون قیمت بان. به این ترتیب مشتری متوجه خواهد شد محصول ومورد نظر موجود نیست.

علاوه بر این اگر نیاز بود، محصولی که موجود نیست مخفی شود، کافیست از بخش

ووکامروس/پیکربندی/محصولات/فهرست موجودی

تیک گزینه “مخفی کردن محصولاتی که در انبار موجود نیستند” را بزنید.

/////******************نمایش محصولات ناموجود در انتهای سایت

/** Show Out of stock products at the end in Woocommerce – Webjame.Com */
add_filter(‘posts_clauses’, ‘order_by_stock_status’);
function order_by_stock_status($posts_clauses) {
global $wpdb;
// only change query on WooCommerce loops
if (is_woocommerce() && (is_shop() || is_product_category() || is_product_tag() || is_product_taxonomy())) {
$posts_clauses[‘join’] .= ” INNER JOIN $wpdb->postmeta istockstatus ON ($wpdb->posts.ID = istockstatus.post_id) “;
$posts_clauses[‘orderby’] = ” istockstatus.meta_value ASC, ” . $posts_clauses[‘orderby’];
$posts_clauses[‘where’] = ” AND istockstatus.meta_key = ‘_stock_status’ AND istockstatus.meta_value <> ” ” . $posts_clauses[‘where’];
}
return $posts_clauses;
}

///****************************////////////***********///////////////********

//*********** عدم نمایش قیمت در محصولات ناموجود

add_filter( ‘woocommerce_variable_sale_price_html’, ‘mweb_hide_price_out_of_stock_products’, 10, 2 );
add_filter( ‘woocommerce_variable_price_html’, ‘mweb_hide_price_out_of_stock_products’, 10, 2 );
add_filter( ‘woocommerce_get_price_html’, ‘mweb_hide_price_out_of_stock_products’, 10, 2 );

function mweb_hide_price_out_of_stock_products( $price, $product ) {
if ( ! $product->is_in_stock()) {
$price = ”;
}
return $price;
}

منتشر شده در وردپرس

اولین باشید که نظر می دهید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *