วิธีซ่อนราคาสินค้าตามบทบาทของผู้ใช้หน้าร้าน

เผยแพร่แล้ว: 2020-11-03

การซ่อนราคาสินค้าตามบทบาทผู้ใช้ในหน้าร้าน WooCommerce การกำหนดราคามีความสำคัญมากในร้านค้าอีคอมเมิร์ซทุกแห่ง เนื่องจากราคาเป็นจุดสนใจของการวิจัย การเปรียบเทียบผลิตภัณฑ์ และการวิเคราะห์แนวโน้ม คุณอาจต้องการซ่อนราคาผลิตภัณฑ์ตามบทบาทผู้ใช้บางอย่างในร้านค้า WooCommerce ของคุณเป็นกลยุทธ์ทางการตลาด

อย่างไรก็ตาม ตามค่าเริ่มต้น WooCommerce ไม่มีตัวเลือกในการซ่อนราคา โพสต์นี้เน้นที่การกำหนดราคาตามบทบาทของผู้ใช้หรือขาด (ผู้ใช้ทั่วไป)

หน้าร้าน ซ่อนราคาสินค้าตามบทบาทของผู้ใช้

จุดประสงค์หลักของการทำเช่นนี้คือการสนับสนุนให้ผู้ใช้ลงทะเบียนเพื่อดูราคา หากคุณต้องการเพิ่มฟังก์ชันนี้ ให้ไปที่ส่วนท้าย ส่วนที่ดีที่สุดคือฉันจะให้คำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการซ่อนราคา อย่างไรก็ตาม คุณต้องมีความรู้ด้านเทคนิคบ้าง

ทำไมต้องซ่อนราคาจนกว่าจะเข้าสู่ระบบ?

ร้านค้าหลายแห่งอาจไม่ต้องการให้ทุกคนเรียกดูร้านค้าออนไลน์ของตนและดูแคตตาล็อกผลิตภัณฑ์ของตน ต่อไปนี้คือตัวอย่างบางส่วนของร้านค้าที่มักจะซ่อนราคา:

  • ร้านค้าส่งที่ไม่ขายตรงให้ประชาชนทั่วไป
  • ผู้ผลิตที่เผยแพร่รายละเอียดผลิตภัณฑ์ของตน แต่อนุญาตให้ผู้ค้าปลีกที่ได้รับอนุญาตซื้อจากพวกเขา
  • ร้านค้าเฉพาะสมาชิก WooCommerce

ขั้นตอนในการซ่อนราคาสำหรับผู้ใช้ทั่วไป

สิ่งแรกที่คุณต้องทำคือซ่อนราคาสำหรับผู้ใช้ทั้งหมดที่ไม่ได้เข้าสู่ระบบ นี่คือขั้นตอนที่คุณต้องปฏิบัติตาม:

  1. ลงชื่อเข้าใช้ไซต์ WordPress และเข้าถึง แดชบอร์ด ในฐานะผู้ดูแลระบบ
  2. จากเมนูแดชบอร์ด ให้คลิกที่ เมนูลักษณะที่ปรากฏ > เมนูตัวแก้ไขธีม เมื่อเปิดหน้า Theme Editor ให้มองหาไฟล์ฟังก์ชันของธีมเพื่อซ่อนราคาของผู้ใช้ทั่วไป
  3. เพิ่มรหัสต่อไปนี้ในฟังก์ชัน ไฟล์ php ของธีมหน้าร้าน
 /**

 * ซ่อนราคาสินค้าตามบทบาทของผู้ใช้

 */

ฟังก์ชั่น njengah_hide_prices_guests ($ ราคา) {

            ถ้า ( ! is_user_logged_in() ) {

                        กลับ ''; // ส่งคืนสตริงว่างโดยไม่แสดงราคา
            }

            ส่งคืนราคา $;
}
add_filter( 'woocommerce_get_price_html', 'njengah_hide_prices_guests' ); // ซ่อนราคาสินค้า
  1. นี่คือผลลัพธ์: ซ่อนสินค้าจากแขก

ขั้นตอนในการซ่อนตะกร้าสินค้าและราคาชำระเงินและยอดรวมสำหรับผู้ใช้ทั่วไป

ขั้นตอนต่อไปคือการซ่อนตะกร้าสินค้าและราคาชำระเงินและยอดรวม เพิ่มบรรทัดต่อไปนี้ในไฟล์ functions.php นี่คือขั้นตอนที่คุณต้องปฏิบัติตาม:

  1. ลงชื่อเข้าใช้ไซต์ WordPress และเข้าถึง แดชบอร์ด ในฐานะผู้ดูแลระบบ
  2. จากเมนูแดชบอร์ด ให้คลิกที่ เมนูลักษณะที่ปรากฏ > เมนูตัวแก้ไขธีม เมื่อหน้าตัวแก้ไขธีมเปิดขึ้น ให้มองหาไฟล์ฟังก์ชันของธีมเพื่อซ่อนราคาตะกร้าสินค้าและชำระเงินและยอดรวมสำหรับผู้ใช้ทั่วไป
  3. เพิ่มรหัสต่อไปนี้ในฟังก์ชัน ไฟล์ php ของธีมหน้าร้าน
 // รถเข็น

add_filter( 'woocommerce_cart_item_price', 'njengah_hide_prices_guests' ); // ซ่อนราคาสินค้าในรถเข็น

add_filter( 'woocommerce_cart_item_subtotal', 'njengah_hide_prices_guests' ); // ซ่อนราคารวมตะกร้า 

ซ่อนราคาจากรถเข็น

  1. หากต้องการลบส่วนหัวของตาราง 'ราคา' และ 'ทั้งหมด' คุณสามารถใช้ข้อมูลโค้ด CSS เพื่อซ่อนได้ ข้อมูลโค้ด PHP นี้จะเพิ่มเฉพาะ CSS เมื่อผู้ใช้ไม่ได้เข้าสู่ระบบ:
 /**

* ซ่อนราคา/ส่วนหัวของตารางทั้งหมดด้วย CSS

*/

ฟังก์ชัน njengah_hide_cart_checkout_price_headings_guests () {

ถ้า ( ! is_user_logged_in() ) {

?><style>

.product-price, .product-subtotal, /* ตะกร้าสินค้า */

.woocommerce-mini-cart__total, /* วิดเจ็ตรถเข็น */

.product-total, .cart-subtotal, .order-total /* ชำระเงิน */

{ แสดง: ไม่มี !สำคัญ; }

</style><?php

}

}

add_action( 'wp_head', 'njengah_hide_cart_checkout_price_headings_guests' );
  1. นี่คือผลลัพธ์: ลบราคาและยอดทั้งหมด

หากร้านค้าของคุณมีบทบาทผู้ใช้แบบค้าส่ง คุณยังสามารถซ่อนราคาสำหรับผู้ใช้ทั่วไปหรือผู้ใช้ทั่วไปได้ ข้อมูลโค้ดต่อไปนี้จะแสดงราคาสำหรับลูกค้าขายส่งเท่านั้น ควรเพิ่มลงในไฟล์ functions.php:

 /**

* ซ่อนราคาสินค้าตามบทบาทของผู้ใช้ (หรือขาดไป)

*/

ฟังก์ชั่น njengah_hide_prices_user_role ($ ราคา) {

$current_user = wp_get_current_user();

$allowed_roles = array( 'ขายส่ง', 'ผู้ดูแลระบบ' );

if ( ! array_intersect( $current_user->roles, $allowed_roles ) ) {

กลับ '';

}

ส่งคืนราคา $;

}

add_filter( 'woocommerce_get_price_html', 'njengah_hide_prices_user_role' ); // ซ่อนราคาสินค้า

// รถเข็น

add_filter( 'woocommerce_cart_item_price', 'njengah_hide_prices_user_role' ); // ซ่อนราคาสินค้าในรถเข็น

add_filter( 'woocommerce_cart_item_subtotal', 'njengah_hide_prices_user_role' ); // ซ่อนราคารวมตะกร้า

// ชำระเงินทั้งหมด

add_filter( 'woocommerce_cart_subtotal', 'njengah_hide_prices_user_role' ); // ซ่อนราคารวมตะกร้าสินค้า

add_filter( 'woocommerce_cart_total', 'njengah_hide_prices_user_role' ); // ซ่อนราคารวมตะกร้า

/**

* ซ่อนราคา/ส่วนหัวของตารางทั้งหมดด้วย CSS

*/

ฟังก์ชั่น njengah_hide_cart_checkout_price_headings () {

$current_user = wp_get_current_user();

$allowed_roles = array( 'ขายส่ง', 'ผู้ดูแลระบบ' );

if ( ! array_intersect( $current_user->roles, $allowed_roles ) ) {

?><style>

.product-price, .product-subtotal, /* ตะกร้าสินค้า */

.woocommerce-mini-cart__total, /* วิดเจ็ตรถเข็น */

.product-total, .cart-subtotal, .order-total /* ชำระเงิน */

{ แสดง: ไม่มี !สำคัญ; }

</style><?php

}

}

add_action( 'wp_head', 'njengah_hide_cart_checkout_price_headings' );

บทสรุป

โดยสรุป ฉันได้แบ่งปันวิธีที่คุณสามารถซ่อนราคาและแสดงราคาต่อผู้ค้าส่ง อย่างไรก็ตาม คุณสามารถแก้ไขบทบาทของผู้ใช้ 'ขายส่ง' เป็นทากบทบาทของผู้ใช้ที่คุณต้องการแสดงราคาผลิตภัณฑ์ นอกจากนี้ ฉันยังเพิ่มบทบาท 'ผู้ดูแลระบบ' ดังนั้นผู้ดูแลระบบจึงเห็นราคาด้วย นอกจากนี้ คุณจะทราบวิธีเพิ่มบทบาทผู้ใช้เพิ่มเติมที่จะเห็นราคาผลิตภัณฑ์

บทความที่คล้ายกัน