Rumah >Tutorial CMS >WordTekan >Menetapkan keperluan minimum checkout dalam WooCommerce

Menetapkan keperluan minimum checkout dalam WooCommerce

Lisa Kudrow
Lisa Kudrowasal
2025-02-19 10:39:09532semak imbas

Menetapkan keperluan minimum checkout dalam WooCommerce

Kemungkinan bahawa anda ingin menetapkan beberapa jenis keperluan minimum di kedai WooCommerce anda sebelum pelanggan anda checkout. Apa yang berikut adalah panduan bagaimana menetapkan keperluan dan sekatan ini, tanpa perlu menggunakan mana -mana plugin sama sekali:

    menetapkan keperluan berat badan minimum bagi setiap pesanan
  • menetapkan bilangan minimum produk yang diperlukan setiap pesanan
  • menetapkan kuantiti minimum bagi setiap produk
  • menetapkan jumlah dolar minimum setiap pesanan
Takeaways Key

    Menetapkan keperluan minimum dalam WooCommerce boleh dicapai tanpa menggunakan plugin, yang membolehkan kawalan dan penyesuaian yang lebih baik proses checkout. Ini termasuk menetapkan keperluan berat badan minimum setiap pesanan, bilangan minimum produk yang diperlukan setiap pesanan, kuantiti minimum setiap produk, dan jumlah dolar minimum setiap pesanan.
  • Proses ini melibatkan penggunaan tindakan 'woocommerce_check_cart_items' yang disediakan oleh WooCommerce untuk menjalankan fungsi dan melaksanakan kod. Kod ini harus diletakkan dalam fail fungsi.php tema dan serasi dengan versi terkini WordPress dan WooCommerce.
  • Fungsi WooCommerce khusus boleh digunakan untuk menetapkan keperluan minimum seperti berat, kiraan produk, kuantiti produk, dan jumlah nilai kereta. Setiap keperluan dilengkapi dengan fungsinya sendiri yang memeriksa item kereta dan membandingkannya dengan keperluan minimum yang ditetapkan, memaparkan mesej ralat jika keperluan tidak dipenuhi.
  • WooCommerce juga menyediakan fleksibiliti untuk menetapkan kuantiti minimum dan maksimum untuk produk atau kategori tertentu, keperluan kuantiti paparan pada halaman produk, dan mengemas kini stok produk secara pemrograman. Ini boleh dicapai melalui fungsi terbina dalam atau plugin seperti 'WooCommerce Min/Max Quantities' dan 'WooCommerce Quantity Increment'.
kaedah yang digunakan dalam artikel ini

Selalu ada lebih daripada satu cara untuk menetapkan keperluan minimum dalam WooCommerce; Hasilnya mungkin sama. Tetapi saya menganggap kaedah yang diterangkan di bawah untuk menjadi cara yang betul (atau lebih baik) untuk melakukannya. Sebarang cadangan mengenai bagaimana anda menyelesaikan tugas -tugas ini atau penambahbaikan selanjutnya sentiasa dialu -alukan dan diterima dengan baik.

Kod berikut telah diuji dalam versi terkini yang tersedia untuk WordPress (3.9.1) dan WooCommerce (2.1.12). Kami akan menggunakan data dummy yang disediakan untuk WooCommerce apabila anda memasang plugin. Kod ini harus masuk dalam fail fungsi.php tema anda dan sangat mengulas supaya lebih mudah untuk diikuti dan/atau mengubah suai jika diperlukan.

Kami akan menggunakan tindakan woocommerce_check_cart_items yang disediakan oleh WooCommerce untuk menjalankan fungsi kami dan melaksanakan kod kami. Lawati pautan berikut untuk senarai lengkap tindakan dan penapis WooCommerce, juga dikenali sebagai cangkuk.

menetapkan keperluan berat badan minimum bagi setiap pesanan

Menetapkan keperluan minimum checkout dalam WooCommerce

Ia sering berguna untuk menyekat pelanggan anda daripada menyelesaikan proses checkout tanpa memenuhi keperluan berat badan minimum. Keperluan berat minium boleh membantu menjadikan kos penghantaran anda lebih mudah diurus, dan proses penghantaran lebih efisien. Jangan lupa untuk menukar keperluan berat badan minimum untuk apa sahaja yang paling sesuai untuk anda, dan ingat bahawa berat badan dikira dalam unit berat yang telah anda tetapkan di bawah WOOCommerce -> Tetapan -> Produk.

<span>// Set a minimum weight requirement before checking out
</span><span>add_action( 'woocommerce_check_cart_items', 'spyr_set_weight_requirements' );
</span><span>function spyr_set_weight_requirements() {
</span>	<span>// Only run in the Cart or Checkout pages
</span>	<span>if( is_cart() || is_checkout() ) {
</span>		<span>global $woocommerce;
</span>		<span>// Set the minimum weight before checking out
</span>		<span>$minimum_weight = 25;
</span>		<span>// Get the Cart's content total weight
</span>		<span>$cart_contents_weight = WC()->cart->cart_contents_weight;
</span>		<span>// Compare values and add an error is Cart's total weight
</span>	    <span>// happens to be less than the minimum required before checking out.
</span>		<span>// Will display a message along the lines of
</span>		<span>// A Minimum Weight of 25kg is required before checking out. (Cont. below)
</span>		<span>// Current cart weight: 12.5kg
</span>		<span>if( $cart_contents_weight < $minimum_weight  ) {
</span>			<span>// Display our error message
</span>			<span>wc_add_notice( sprintf('<strong>A Minimum Weight of %s%s is required before checking out.</strong>'
</span>				<span>. '<br />Current cart weight: %s%s',
</span>				<span>$minimum_weight,
</span>				<span>get_option( 'woocommerce_weight_unit' ),
</span>				<span>$cart_contents_weight,
</span>				<span>get_option( 'woocommerce_weight_unit' ),
</span>				<span>get_permalink( wc_get_page_id( 'shop' ) )
</span>				<span>),
</span>			<span>'error'	);
</span>		<span>}
</span>	<span>}
</span><span>}</span>

menetapkan bilangan minimum produk yang diperlukan setiap pesanan

Menetapkan keperluan minimum checkout dalam WooCommerce

Satu lagi senario yang sah adalah menetapkan bilangan produk minimum yang perlu dipesan pada satu masa sebelum membenarkan pelanggan membayar sepenuhnya pesanannya dan dihantar. Tukar '20' kepada apa sahaja yang paling sesuai untuk keperluan anda. Seperti dalam contoh terdahulu, anda ingin memastikan bahawa anda hanya menjalankan kod ini pada halaman kereta dan checkout. Ini adalah kita menggunakan is_cart () dan is_checkout (), yang kembali 'benar' setiap kali kita berada di kedua -dua halaman tertentu. Ketahui lebih lanjut mengenai Tag Woocommerce Conditions.

<span>// Set a minimum number of products requirement before checking out
</span><span>add_action( 'woocommerce_check_cart_items', 'spyr_set_min_num_products' );
</span><span>function spyr_set_min_num_products() {
</span>	<span>// Only run in the Cart or Checkout pages
</span>	<span>if( is_cart() || is_checkout() ) {
</span>		<span>global $woocommerce;
</span>
		<span>// Set the minimum number of products before checking out
</span>		<span>$minimum_num_products = 20;
</span>		<span>// Get the Cart's total number of products
</span>		<span>$cart_num_products = WC()->cart->cart_contents_count;
</span>
		<span>// Compare values and add an error is Cart's total number of products
</span>	    <span>// happens to be less than the minimum required before checking out.
</span>		<span>// Will display a message along the lines of
</span>		<span>// A Minimum of 20 products is required before checking out. (Cont. below)
</span>		<span>// Current number of items in the cart: 6	
</span>		<span>if( $cart_num_products < $minimum_num_products ) {
</span>			<span>// Display our error message
</span>	        <span>wc_add_notice( sprintf( '<strong>A Minimum of %s products is required before checking out.</strong>' 
</span>	        	<span>. '<br />Current number of items in the cart: %s.',
</span>	        	<span>$minimum_num_products,
</span>	        	<span>$cart_num_products ),
</span>	        <span>'error' );
</span>		<span>}
</span>	<span>}
</span><span>}</span>

menetapkan kuantiti minimum bagi setiap produk

Menetapkan keperluan minimum checkout dalam WooCommerce

Menetapkan kuantiti minimum bagi setiap produk adalah keperluan umum untuk kedai WooCommerce, khususnya jika anda menjual borong. Menetapkan kuantiti minimum akan menyekat pelanggan anda daripada membeli produk tertentu dalam kuantiti yang lebih rendah. Bagi kami untuk menyemak kuantiti minimum, kami perlu gelung melalui setiap produk dalam kereta dan menyemaknya terhadap kuantiti minimum kami bagi setiap keperluan produk yang ditetapkan.

Untuk menetapkan sekatan ini, anda perlu membuat array yang memegang peraturan/sekatan anda di dalam array lain. Berhati -hati apabila mengedit array ini, dan pastikan semua kod dimasukkan dengan tepat untuk mengelakkan kesilapan dan keputusan yang tidak dijangka. Format yang perlu anda gunakan adalah seperti berikut:

<span>// Product Id and Min. Quantities per Product
</span><span>// id = Product ID
</span><span>// min = Minimum quantity
</span><span>$product_min_qty = array( 
</span>	<span>array( 'id' => 47, 'min' => 100 ),
</span>	<span>array( 'id' => 37, 'min' => 100 ),
</span>	<span>array( 'id' => 34, 'min' => 100 ),
</span>	<span>array( 'id' => 31, 'min' => 100 ),
</span><span>);</span>

di sinilah keajaiban berlaku.

<span>// Set minimum quantity per product before checking out
</span><span>add_action( 'woocommerce_check_cart_items', 'spyr_set_min_qty_per_product' );
</span><span>function spyr_set_min_qty_per_product() {
</span>	<span>// Only run in the Cart or Checkout pages
</span>	<span>if( is_cart() || is_checkout() ) {	
</span>		<span>global $woocommerce;
</span>
		<span>// Product Id and Min. Quantities per Product
</span>		<span>$product_min_qty = array( 
</span>			<span>array( 'id' => 47, 'min' => 100 ),
</span>			<span>array( 'id' => 37, 'min' => 100 ),
</span>			<span>array( 'id' => 34, 'min' => 100 ),
</span>			<span>array( 'id' => 31, 'min' => 100 ),
</span>		<span>);
</span>
		<span>// Will increment
</span>		<span>$i = 0;
</span>		<span>// Will hold information about products that have not
</span>		<span>// met the minimum order quantity
</span>		<span>$bad_products = array();
</span>
		<span>// Loop through the products in the Cart
</span>		<span>foreach( $woocommerce->cart->cart_contents as $product_in_cart ) {
</span>			<span>// Loop through our minimum order quantities per product
</span>			<span>foreach( $product_min_qty as $product_to_test ) {
</span>				<span>// If we can match the product ID to the ID set on the minimum required array
</span>				<span>if( $product_to_test['id'] == $product_in_cart['product_id'] ) {
</span>					<span>// If the quantity required is less than than the quantity in the cart now
</span>					<span>if( $product_in_cart['quantity'] < $product_to_test['min'] ) {
</span>						<span>// Get the product ID
</span>						<span>$bad_products[$i]['id'] = $product_in_cart['product_id'];
</span>						<span>// Get the Product quantity already in the cart for this product
</span>						<span>$bad_products[$i]['in_cart'] = $product_in_cart['quantity'];
</span>						<span>// Get the minimum required for this product
</span>						<span>$bad_products[$i]['min_req'] = $product_to_test['min'];
</span>					<span>}
</span>				<span>}
</span>			<span>}
</span>			<span>// Increment $i
</span>			<span>$i++;
</span>		<span>}
</span>
		<span>// Time to build our error message to inform the customer
</span>		<span>// About the minimum quantity per order.
</span>		<span>if( is_array( $bad_products) && count( $bad_products ) > 1 ) {
</span>			<span>// Lets begin building our message
</span>			<span>$message = '<strong>A minimum quantity per product has not been met.</strong><br />';
</span>			<span>foreach( $bad_products as $bad_product ) {
</span>				<span>// Append to the current message
</span>				<span>$message .= get_the_title( $bad_product['id'] ) .' requires a minimum quantity of '
</span>						 <span>. $bad_product['min_req'] 
</span>						 <span>.'. You currently have: '. $bad_product['in_cart'] .'.<br />';
</span>			<span>}
</span>			<span>wc_add_notice( $message, 'error' );
</span>		<span>}
</span>	<span>}
</span><span>}</span>

menetapkan jumlah dolar minimum setiap pesanan

Menetapkan keperluan minimum checkout dalam WooCommerce

Terakhir tetapi tidak kurang, anda mungkin mahu menetapkan jumlah dolar minimum yang mesti dibelanjakan sebelum pelanggan anda dibenarkan untuk memeriksa. Sila ambil perhatian bahawa kami mengira jumlah nilai menggunakan subtotal, sebelum penghantaran dan cukai ditambah kepada jumlah pesanan akhir.

<span>// Set a minimum dollar amount per order
</span><span>add_action( 'woocommerce_check_cart_items', 'spyr_set_min_total' );
</span><span>function spyr_set_min_total() {
</span>	<span>// Only run in the Cart or Checkout pages
</span>	<span>if( is_cart() || is_checkout() ) {
</span>		<span>global $woocommerce;
</span>
		<span>// Set minimum cart total
</span>		<span>$minimum_cart_total = 10;
</span>
		<span>// Total we are going to be using for the Math
</span>		<span>// This is before taxes and shipping charges
</span>		<span>$total = WC()->cart->subtotal;
</span>		
		<span>// Compare values and add an error is Cart's total
</span>	    <span>// happens to be less than the minimum required before checking out.
</span>		<span>// Will display a message along the lines of
</span>		<span>// A Minimum of 10 USD is required before checking out. (Cont. below)
</span>		<span>// Current cart total: 6 USD 
</span>		<span>if( $total <= $minimum_cart_total  ) {
</span>			<span>// Display our error message
</span>			<span>wc_add_notice( sprintf( '<strong>A Minimum of %s %s is required before checking out.</strong>'
</span>				<span>.'<br />Current cart\'s total: %s %s',
</span>				<span>$minimum_cart_total,
</span>				<span>get_option( 'woocommerce_currency'),
</span>				<span>$total,
</span>				<span>get_option( 'woocommerce_currency') ),
</span>			<span>'error' );
</span>		<span>}
</span>	<span>}
</span><span>}</span>

Kesimpulan

Adakah anda dapat melihat, WooCommerce membolehkan anda menggunakan tindakan dan penapis untuk menukar proses checkout biasa. Semua kedai adalah berbeza dan dapat menetapkan sekatan ini apabila diperlukan adalah penting. Bagi kami pemaju, yang perlu menyelesaikan tugas seperti ini, mengetahui bagaimana untuk melakukannya adalah penting.

Terima kasih kerana membaca, komen atau cadangan tentang bagaimana untuk memperbaiki kod sentiasa dialu -alukan. Jika anda mempunyai idea untuk pengubahsuaian WooCommerce tertentu, jangan malu dan hantarkan pautan ke dalam komen untuk perbincangan.

soalan yang sering ditanya mengenai keperluan minimum dalam WOOCommerce

Bagaimana saya boleh menetapkan kuantiti minimum untuk produk tertentu dalam WooCommerce? Tetapkan kuantiti minimum untuk. Di bawah tab 'Inventori', anda akan mendapati pilihan untuk menetapkan 'kuantiti minimum'. Masukkan nombor yang dikehendaki dan simpan perubahan anda. Ini akan memastikan pelanggan mesti membeli sekurang -kurangnya kuantiti produk ini untuk diteruskan dengan checkout. untuk produk dalam WooCommerce. Sama seperti menetapkan kuantiti minimum, anda boleh melakukan ini dari bahagian data produk di bawah tab 'Inventori'. Di sana, anda akan mendapat pilihan untuk menetapkan 'kuantiti maksimum'. Masukkan nombor yang dikehendaki dan simpan perubahan anda. Ini akan mengehadkan bilangan setiap produk yang boleh dibeli oleh pelanggan dalam satu pesanan. Hadkan jumlah kuantiti produk dalam satu pesanan dalam WooCommerce. Ini boleh dilakukan dengan menggunakan plugin seperti 'Minmax Quantity for WooCommerce'. Sebaik sahaja dipasang dan diaktifkan, anda boleh menetapkan had minimum dan maksimum untuk jumlah kuantiti produk dalam satu pesanan dari tetapan plugin. Mengemas kini stok produk secara pemrograman dalam WooCommerce boleh dilakukan dengan menggunakan fungsi terbina dalam WooCommerce. Anda boleh menggunakan fungsi wc_update_product_stock () untuk mengemas kini kuantiti stok produk. Fungsi ini mengambil dua parameter: ID produk dan kuantiti saham baru. Ini boleh dilakukan dengan menggunakan plugin seperti 'WooCommerce Min/Max Quantities'. Setelah dipasang dan diaktifkan, anda boleh menetapkan jumlah pesanan minimum dari tetapan plugin. Ini memerlukan pelanggan untuk mencapai jumlah pesanan minimum ini sebelum mereka dapat meneruskan dengan checkout. Dengan menggunakan plugin seperti 'WooCommerce Quantity Increment'. Setelah dipasang dan diaktifkan, anda boleh menetapkan kenaikan kuantiti untuk setiap produk dari bahagian data produk di bawah tab 'Inventori'.

Bolehkah saya menetapkan kuantiti minimum dan maksimum yang berbeza untuk produk yang berbeza? Ini boleh dilakukan dari bahagian data produk setiap produk. Di bawah tab 'Inventori', anda boleh menetapkan 'kuantiti minimum' dan 'kuantiti maksimum' untuk setiap produk secara individu.

Adakah mungkin untuk menetapkan kuantiti minimum dan maksimum untuk variasi produk?

Ya, adalah mungkin untuk menetapkan kuantiti minimum dan maksimum untuk variasi produk dalam WooCommerce. Ini boleh dilakukan dari bahagian variasi data produk. Untuk setiap variasi, anda boleh menetapkan 'kuantiti minimum' dan 'kuantiti maksimum'.

Bagaimana saya boleh memaparkan keperluan kuantiti minimum dan maksimum pada halaman produk? Keperluan kuantiti pada halaman produk boleh dilakukan dengan menggunakan plugin seperti 'WooCommerce Min/Max Quantities'. Plugin ini menambah notis pada halaman produk yang memaparkan keperluan kuantiti minimum dan maksimum untuk produk. Tetapkan kuantiti minimum dan maksimum untuk kategori produk tertentu dalam WooCommerce. Ini boleh dilakukan dengan menggunakan plugin seperti 'WooCommerce Min/Max Quantities'. Setelah dipasang dan diaktifkan, anda boleh menetapkan kuantiti minimum dan maksimum untuk setiap kategori produk dari tetapan plugin.

Atas ialah kandungan terperinci Menetapkan keperluan minimum checkout dalam WooCommerce. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn