Cara Menyembunyikan Produk di WooCommerce atau Menyembunyikan Produk berdasarkan Kategori atau Peran
Diterbitkan: 2020-02-24Ada banyak cara yang bisa Anda gunakan untuk menyembunyikan produk tertentu di WooCommerce dan di postingan ini; kami akan mengeksplorasi setiap cara ini untuk menyembunyikan produk di WooCommerce. Ada beberapa alasan mengapa Anda harus mempertimbangkan untuk menyembunyikan produk dari toko WooCommerce tetapi daftar teratas adalah saat produk kehabisan stok atau saat produk dipesan untuk pelanggan atau peran pengguna tertentu.
Sembunyikan Produk WooCommerce
Jika Anda ingin menyembunyikan stok produk, Anda harus terlebih dahulu mempertimbangkan untuk menambahkan label stok habis pada produk daripada menyembunyikan produk.
Meskipun demikian, jika Anda masih ingin menyembunyikan produk yang habis atau produk WooCommerce lainnya, saya akan membagikan di pos ini bagaimana Anda dapat menyembunyikan produk berdasarkan ID, nama, atau kategori.
Sembunyikan Produk WooCommerce Menggunakan Opsi
WooCommerce secara default hadir dengan opsi luar biasa yang memungkinkan pengguna mengontrol visibilitas suatu produk.
Anda dapat membuat produk tersembunyi di WooCommerce dengan mengontrol opsi visibilitas sebelum Anda mempublikasikan gambar. Untuk menyembunyikan produk di WooCommerce menggunakan visibilitas, Anda harus mengikuti langkah-langkah berikut:
- Masuk ke dasbor situs WordPress Anda
- Klik menu produk seperti yang ditunjukkan pada gambar di bawah ini sehingga Anda dapat mengakses produk yang ingin Anda sembunyikan dari pengguna menggunakan opsi visibilitas.
- Pilih produk dari daftar semua produk yang ingin Anda sembunyikan seperti yang ditunjukkan di bawah ini dan klik edit untuk mengakses layar edit produk:
- Di layar pengeditan produk di sisi kanan di bawah metabox terbitkan di bawah ini ada opsi bernama 'Visibilitas katalog' Klik tautan ini dan drop-down dengan opsi akan muncul dan opsi terakhir adalah Tersembunyi.
Saat Anda mencentang opsi radio ini dan mengklik ok, maka perbarui postingan, produk akan disembunyikan dari katalog toko. Seperti yang diilustrasikan dalam tiga langkah ini (1,2,3): - Saat Anda menyimpan opsi ini dan memperbarui pos, visibilitas produk akan disetel ke tersembunyi seperti yang Anda lihat di bagian depan toko:
- Jika Anda memeriksa opsi visibilitas katalog di backend pada layar edit produk, Anda akan melihatnya diperbarui menjadi disembunyikan ketika pos diperbarui:
Ini adalah cara tercepat untuk menyembunyikan produk WooCommerce dari katalog toko. Ada cara lain yang dapat Anda gunakan seperti menambahkan kode ke tema anak. Mari kita jelajahi lebih banyak opsi yang dapat Anda gunakan untuk menyembunyikan produk di WooCommerce.
Woocommerce Sembunyikan Produk Kategori Tertentu dari Halaman Toko
Jika Anda ingin menyembunyikan produk tertentu dari halaman toko di WooCommerce, Anda dapat melakukannya menggunakan kait tindakan yang menargetkan kueri halaman toko 'woocommerce_product_query'.
Fungsi panggilan balik harus menggunakan $tax_query untuk mempersempit istilah yang terkait dengan produk yang ingin Anda sembunyikan.
Dalam hal ini, kunci istilah dalam array $tax_query setara dengan kategori/tag seperti yang saya jelaskan di posting cara mendapatkan kategori produk WooCommerce saat ini.
Misalkan kita ingin menyembunyikan produk ini dari kategori 'suku cadang mobil'.
Kita dapat menggunakan potongan kode berikut yang ditambahkan ke file functions.php untuk menyembunyikan produk dari halaman toko:
/** * Sembunyikan produk WooCommerce berdasarkan kategori dari halaman toko. * * @param $q */ add_action( 'woocommerce_product_query', 'njengah_hide_product_by_category_shop_page' ); function njengah_hide_product_by_category_shop_page( $q ) { $tax_query = (array) $q->get( 'tax_query' ); $pajak_kueri[] = array( 'taksonomi' => 'produk_kucing', 'bidang' => 'siput', 'terms' => array( 'uncategorised','auto-parts'), // Jangan tampilkan produk dalam kategori 'auto parts' di halaman toko. 'operator' => 'TIDAK DI' ); $q->set( 'tax_query', $tax_query ); }
Tambahkan kode ini ke fungsi tema dan Anda dapat mengganti kategori 'suku cadang mobil' dengan kategori lain yang ingin Anda sembunyikan produk dan ini akan secara efektif menyembunyikan produk dari kategori tersebut di halaman toko seperti yang terlihat di bawah ini:
WooCommerce Sembunyikan Produk Kecuali Masuk
Cara umum lainnya untuk menyembunyikan produk di WooCommerce melibatkan pembatasan visibilitas produk berdasarkan status pengguna apakah login atau tidak.
Langkah pertama jelas untuk memeriksa apakah pengguna sudah masuk. Saya jelaskan secara rinci di sini – cara memeriksa apakah pengguna sudah masuk di WordPress.
Kami akan menggunakan kode ini untuk memeriksa status login kemudian menggabungkannya dengan kueri untuk menyembunyikan produk WooCommerce secara kondisional tergantung pada status login pengguna.
Kode harus sebagai berikut:
** * Sembunyikan produk WooCommerce jika pengguna tidak masuk * * @param $permintaan */ function njengah_hide_product_if_user_not_logged( $query ) { if ( $query->is_main_query() && is_woocommerce() && !is_user_logged_in() ) { $pajak_kueri = array( Himpunan( 'taksonomi' => 'produk_kucing', 'bidang' => 'siput', 'terms' => array( 'uncategorised','auto-parts'), // Jangan tampilkan produk dalam kategori 'auto parts' di halaman toko. 'operator'=> 'TIDAK DI' // mengecualikan ) ); $query->set('tax_query', $tax_query); } } add_action( 'pre_get_posts', 'njengah_hide_product_if_user_not_logged' );
Seperti yang Anda lihat, kami memeriksa secara kondisional apakah pengguna masuk menggunakan fungsi is_user_logged_in() sebelum kami dapat melanjutkan kueri.
Woocommerce Sembunyikan Produk berdasarkan Peran Pengguna
Anda juga dapat menyembunyikan produk berdasarkan peran pengguna. Anda harus terlebih dahulu mendapatkan pengguna yang saat ini masuk dan peran pengguna mereka seperti yang saya uraikan dalam tutorial sebelumnya tentang cara mendapatkan peran pengguna saat ini di WordPress . Kode ini untuk mendapatkan peran pengguna adalah sebagai berikut:
$pengguna = wp_get_current_user(); // mendapatkan & menyetel pengguna saat ini $roles = ( array ) $user->roles; // mendapatkan peran $roles[0] //peran pengguna saat ini
Kita harus menggabungkan kode ini dengan tindakan pre_get_posts sebelumnya dan kode yang akan menyembunyikan produk untuk semua pengguna mengharapkan admin adalah sebagai berikut:
/** * Sembunyikan produk WooCommerce dengan peran pengguna seperti dalam hal ini hanya admin yang dapat melihat produk ini * * @param $permintaan */ function njengah_hide_product_by_user_role( $query ) { $pengguna = wp_get_current_user(); // mendapatkan & menyetel pengguna saat ini $roles = ( array ) $user->roles; // mendapatkan peran if ( $query->is_main_query() && is_woocommerce() && $roles[0] != 'administrator' ) { $pajak_kueri = array( Himpunan( 'taksonomi' => 'produk_kucing', 'bidang' => 'siput', 'terms' => array( 'uncategorised','auto-parts'), // Jangan tampilkan produk dalam kategori 'auto parts' di halaman toko. 'operator'=> 'TIDAK DI' // mengecualikan ) ); $query->set('tax_query', $tax_query); } } add_action( 'pre_get_posts', 'njengah_hide_product_by_user_role' );
Seperti yang Anda lihat di baris kode ini di mana kami memeriksa kueri secara kondisional, saya telah memperkenalkan kondisi untuk memeriksa apakah peran pengguna bukan admin – $roles[0] != 'administrator' kemudian kami melanjutkan dengan kueri. Ini adalah cara Anda menyembunyikan produk WooCommerce berdasarkan peran pengguna.
Anda dapat menguraikan contoh ini agar sesuai dengan kebutuhan spesifik Anda dan Anda juga dapat menggabungkan semua kasus ini untuk membuat satu cara bersyarat untuk menyembunyikan produk WooCommerce.
Pikiran Akhir
Dalam posting ini, kami telah menyoroti tiga cara umum Anda dapat menyembunyikan produk WooCommerce yang mencakup bersembunyi berdasarkan peran pengguna, menyembunyikan produk kecuali jika pengguna masuk dan menyembunyikan produk WooCommerce tanpa salah satu dari kondisi ini. Kami juga menguraikan cara paling sederhana untuk menyembunyikan produk WooCommerce menggunakan opsi visibilitas katalog yang disediakan di layar edit produk. Saya harap Anda sekarang dapat dengan mudah menerapkan salah satu dari solusi ini untuk menyembunyikan produk WooCommerce dari toko Anda.