Saya sedang membangunkan bahagian b2b kedai Woocommerce saya. Saya telah berjaya menapis woocommerce_product_query_meta_query
untuk hanya menunjukkan produk yang mempunyai bahagian b2b didayakan kepada pengguna b2b.
Walau bagaimanapun, saya tidak dapat mencari cara untuk menyembunyikan kategori produk yang menunjukkan 0 hasil dalam widget kategori Woocommerce (kerana tiada produk dalam kategori itu dengan bahagian b2b didayakan).
Saya mempertimbangkan untuk menulis semula kod widget Woocommerce lalai dan menjalankan pertanyaan wp untuk setiap kategori (dan subkategori) yang mengembalikan bilangan produk dalam kategori tersebut dengan b2b didayakan. Tetapi untuk sebilangan besar produk dan kategori ini nampaknya sangat tidak cekap.
Adakah terdapat cara untuk menyembunyikan kategori "kosong" (tiada produk yang didayakan b2b dalam kategori) dalam widget kategori Woocommerce?
Terima kasih atas sebarang nasihat.
Edit
Untuk menjelaskan soalan saya: ini adalah fungsi yang saya gunakan untuk menapis pertanyaan produk untuk hanya menunjukkan produk dengan _eda_display_in_b2b
元设置为yes
:
function show_only_b2b_products( $meta_query, $query ) { if ( is_admin() || ! is_user_logged_in() || ! is_b2b_user() ) { return $meta_query; } $meta_query[] = array( 'key' => '_eda_display_in_b2b', 'value' => 'yes', 'compare' => '=' ); return $meta_query; } add_filter( 'woocommerce_product_query_meta_query', 'show_only_b2b_products', 10, 2 );
Contoh: https://klon.vozikyprozivot.cz/kategorie-produktu/pridavne-pohony/
Kategori ini tidak kosong untuk pelanggan tetap dan pengguna tidak log masuk. Tetapi untuk pelanggan b2b, tiada produk untuk dipaparkan. Jadi saya perlu menyembunyikan widget kategori ini untuk pelanggan b2b.
Jika anda merujuk kepada widget kategori produk, terdapat tetapan untuk menyembunyikan kategori kosong:
Jika anda merujuk kepada perkara lain, sila berikan URL ke halaman contoh dan status sistem tapak anda. Anda boleh menemuinya melalui WooCommerce > Pilih Dapatkan Laporan Sistem dan kemudian Salin untuk Sokongan. Setelah selesai, sila tampalkannya dalam balasan anda.
Semoga ini membantu.
======Edit======
Saya rasa untuk masalah di atas boleh gunakan cangkuk kategori wc dan keluarkan kategori. Sila semak kod di bawah:
Dalam kod di atas, saya fikir anda boleh membuat logik dan menyemak sama ada kategori itu mempunyai produk dan mencipta pelbagai ID untuk kategori bukan produk.
Dengan cara ini anda boleh mengecualikan kategori daripada senarai dan lungsur turun.
Semoga ini membantu.
Dengan banyak bantuan daripada Harshit Vaid, saya telah berjaya menyelesaikan masalah ini: