رضا شونم
3 سال پیش توسط رضا شونم مطرح شد
3 پاسخ

کوئری فیلتر محصولات در وردپرس

سلام
میخوام توی نمایش category یه فیلتر بذارم از طریق function.php مشکل اینکه کئوری رو نمی دونم چی بزنم. می خوام محصولات رو به ترتیب جدید ترین ها نمایش بدم و محصولات نا موجود رو بذارم آخر. یعنی اول اونایی که موجود هستند و بعد ناموجود.

به طور مثال این فیلتر برای دسته بندی ها کار میکنه . و یه کار بیشتر انجام نمی ده . و من نیاز دارم 2 تا کار رو با هم انجام بدم.

add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args' );

function custom_woocommerce_get_catalog_ordering_args( $args ) {
  $orderby_value = isset( $_GET['orderby'] ) ? wc_clean ( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );

 if ( 'stock' == $orderby_value ) {
  $args['orderby'] = 'meta_value';
  $args['order'] = 'desc';
  $args['meta_key'] = '_stock_status';
 }

 return $args;
}

add_filter( 'woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby' );

function custom_woocommerce_catalog_orderby( $sortby ) {
 $sortby['stock'] = 'مرتب سازی بر اساس موجودی';
 return $sortby;
}

ولی من یه دونه مرتب سازی می تونم انجام بدم و نیاز دارم یه جوری کئوری رو جمع کنم با هم .
دوستانی که ارجاع میکنن به منبع لطفا یه توضیحی هم دربارش بدن .
ممنون


ثبت پرسش جدید
رضا شونم
تخصص : طراح سایت و سئو کار
@rosi 3 سال پیش مطرح شد
0

کسی توی زمینه وردپرس نبود ؟
بچه ها یه کمک کوچولو کنید حله 👀


محمد پورداداش
تخصص : طراح و کدنویس وردپرس
@MohammadFamo 3 سال پیش آپدیت شد
0

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

https://mihanwp.com/woocommerce-products-order-by-stock-availability/

کد

add_filter( 'woocommerce_get_catalog_ordering_args', 'mihanwp_sort_by_stock', 9999 );

function mihanwp_sort_by_stock( $args ) {
   $args['orderby'] = 'meta_value';
   $args['order'] = 'ASC';
   $args['meta_key'] = '_stock_status';
   return $args;
}

رضا شونم
تخصص : طراح سایت و سئو کار
@rosi 3 سال پیش مطرح شد
0

این اوکیه
ببین کئوری من 2 تا بخش داره .
اونوقت جدید ترین ها نمیاد اول . شاید مرتب سازی ( ASC) کار نمی کنه. در هر صورت کد بالا کار نکرد.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام