Sembunyikan harga dan fungsi checkout di woocommerce

17

Saya tahu pertanyaan ini mungkin terlalu luas, tetapi saya mencari sedikit arah. Klien saya memiliki toko woocommerce dengan 30-40 produk. Untuk alasan apa pun mereka tidak ingin menjual secara online lagi, tetapi mereka ingin mempertahankan halaman produk, informasi, dll. Di situs web mereka.

Apakah ada cara, menggunakan pengait atau lainnya, untuk menyembunyikan hal-hal seperti harga, menambah tombol keranjang, dll. Di woocommerce? Atau haruskah saya mengedit file template php?

mil
sumber

Jawaban:

23

untungnya woocommerce memiliki banyak kaitan, ini menghilangkan harga dan tombol:

remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );

Anda dapat menggali content-product.phpdan content-single-product.phpjika Anda perlu menghapus lebih banyak barang.

Saya bisa membayangkan ada lebih dari sekedar harga / tombol yang ingin Anda sembunyikan / hapus (seperti halaman / fungsi), tutorial ini memberi Anda beberapa petunjuk.

Ewout
sumber
Apakah saya benar dalam berpikir bahwa kait-kait itu harus dimasukkan ke dalam functions.php? Jika demikian, adakah bagian khusus yang perlu saya masukkan? Jika berfungsi, mungkin fungsi keranjang tidak akan lagi terlihat, selain dari beberapa penataan, apakah itu benar?
James
1
ya, Anda bisa meletakkannya di functions.php dan tidak masalah di mana Anda menempatkannya di dalam fungsi lain. Biasanya semua cara di akhir file adalah yang paling aman, selama Anda tidak menempatkannya setelah yang terakhir ?>. Ini tidak akan menghapus halaman troli, tetapi sebenarnya akan menghapus kemungkinan menambahkan sesuatu ke troli. Jika Anda tidak menyukai halaman troli di mana pun Anda seharusnya relatif aman.
Ewout
Berhasil. Tapi ini aneh. Setelah menerapkan ini, gambar produk berhenti muncul. Ini menunjukkan ruang kosong untuk lokasi mereka, dan ketika saya melewati mouse di atas mereka dan mengklik mereka mereka menunjukkan gambar yang tepat. Apakah Anda punya ide mengapa itu terjadi?
Brethlosze
13

Memperluas kode di atas (terima kasih Ewout), kode berikut akan menghilangkan semua harga dan tombol 'tambahkan ke keranjang' pada semua produk woocommerce, serta memberikan penjelasan mengapa. Saya membutuhkan kode untuk situs web yang menawarkan produk penjualan langsung dan untuk mematuhi aturan mereka, saya tidak dapat menunjukkan harga kepada masyarakat umum.

Tambahkan filter ke file functions.php tema Anda.

    add_filter('woocommerce_get_price_html','members_only_price');

    function members_only_price($price){

if(is_user_logged_in() ){
    return $price;
}

else {
    remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
    remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
    return 'Only <a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Registered Users</a> are able to view pricing.';
      }

}
Angela
sumber
Ini aneh. Setelah menerapkan ini, gambar produk berhenti muncul. Ini menunjukkan ruang kosong untuk lokasi mereka, dan ketika saya melewati mouse di atas mereka dan mengklik mereka mereka menunjukkan gambar yang tepat. Apakah Anda punya ide mengapa itu terjadi?
Brethlosze
Kode ini tidak berfungsi di WooCommerce v 3.2.1:-)
Steve
1
add_filter( 'woocommerce_is_purchasable', '__return_false' );
add_filter( 'woocommerce_get_price_html', '__return_empty_string' );

Ini sepenuhnya akan mencegah checkout dan menyembunyikan semua harga dengan:

  • Membuat semua produk tidak dapat dibeli (baris 1)
  • Mengosongkan harga HTML (baris 2)
Nabil Kadimi
sumber