วิธีซ่อนหมวดหมู่ WooCommerce Storefront Theme

เผยแพร่แล้ว: 2020-10-05

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

หน้าร้าน WooCommerce ซ่อนหมวดหมู่

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

ธีมหน้าร้านผสานรวมกับ WooCommerce ได้อย่างราบรื่น WooCommerce ช่วยให้คุณตัดสินใจได้ว่าต้องการให้ผลิตภัณฑ์ของคุณแสดงบนหน้าแรกของธีมหน้าร้านอย่างไร

วิธีแสดงหมวดหมู่ในธีมหน้าร้าน

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

สรุป:

  • แสดงผลิตภัณฑ์: ผลิตภัณฑ์ทั้งหมดจะถูกระบุไว้
  • แสดงหมวดหมู่: หมวดหมู่ทั้งหมดจะแสดงอยู่ในรายการ
  • แสดงหมวดหมู่และผลิตภัณฑ์: ผลิตภัณฑ์และหมวดหมู่จะแสดงในรายการ

หากคุณเลือกตัวเลือก 'แสดงหมวดหมู่' ใต้ 'การ แสดงหน้าร้านค้า' หมวดหมู่สินค้าทั้งหมดจะแสดงบนหน้าร้านค้าดังที่แสดงด้านล่าง: แสดงหมวดหมู่

วิธีซ่อนหมวดหมู่ WooCommerce จากหน้าแรกของธีมหน้าร้าน

ด้วยเหตุผลหลายประการ คุณอาจไม่ต้องการแสดงบางหมวดหมู่บนโฮมเพจ ในตัวอย่างนี้ ฉันจะลบ หมวดหมู่ 'Accessories' เราสามารถทำได้โดยระบุชื่อที่ถูกต้องให้กับหมวดหมู่นี้หรือโดยการซ่อนไม่ให้แสดงบนโฮมเพจ

นี่คือขั้นตอนง่าย ๆ ที่คุณต้องปฏิบัติตาม:

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

 * แสดงสินค้าเฉพาะหมวดที่เลือก

 */

ฟังก์ชั่น get_subcategory_terms ( $terms, $taxonomies, $args ) {

            $new_terms = อาร์เรย์ ();

            $hide_category = อาร์เรย์ (19 ); // ID ของหมวดหมู่ที่คุณไม่ต้องการให้แสดงบนหน้าร้านค้า

                         // หากเป็นหมวดสินค้าและในเพจร้าน

            if ( in_array( 'product_cat', $taxonomies ) && !is_admin() && is_shop() ) {


                foreach ( $terms เป็น $key => $term ) {


                        if ( ! in_array( $term->term_id, $hide_category ) ) {

                                    $new_terms[] = $term;

                        }

                }

                $terms = $new_terms;

            }

  ส่งคืนเงื่อนไข $;

}

add_filter( 'get_terms', 'get_subcategory_terms', 10, 3 );
  1. หากต้องการดูผลลัพธ์ ให้รีเฟรชหน้าแรก จากภาพหน้าจอด้านล่าง คุณจะเห็นว่ารหัสได้ลบ หมวดหมู่ 'อุปกรณ์เสริม' ID=19 แล้ว ลบหมวดหมู่

รหัสทำงานอย่างไร

ในข้อมูลโค้ด ฉันได้แชร์ ฉันได้ใช้ฟังก์ชันเรียกกลับ get_subcategory_terms() และฉันได้เริ่มต้นตัวแปร $new_terms ด้วยอาร์เรย์ว่าง ซึ่งจะใช้ในภายหลังเพื่อสร้างอาร์เรย์ของหมวดหมู่ WooCommerce เพื่อแสดงบนหน้าร้าน

หลังจากนั้น ฉันเริ่มต้นตัวแปร $hide_category ด้วยอาร์เรย์ของรหัสหมวดหมู่ที่ฉันไม่ต้องการแสดงบนหน้าร้านค้า คุณต้องเพิ่ม ID ของหมวดหมู่ที่คุณต้องการซ่อนในหน้าร้านค้าของคุณ

จากนั้นฉันตรวจสอบว่า 'product_cat' มีอยู่ใน $taxonomies หรือไม่ และตรวจสอบว่าเป็นหน้าส่วนหน้าและหน้าร้านค้าหรือไม่ จากนั้นจึงดำเนินการเฉพาะส่วนการดัดแปลงจริงเท่านั้น นอกจากนี้ ฉันยังใช้ฟังก์ชัน is_admin() เพื่อตรวจสอบว่าเป็น front end หรือ admin end ฉันใช้ฟังก์ชัน is_shop() เพื่อตรวจสอบว่าเป็นหน้าร้านค้าของ WooCommerce หรือไม่

หากเงื่อนไขทั้งหมดเป็นจริง ฉันใช้ foreach loop เพื่อวนผ่านข้อมูล $terms เพื่อเตรียมข้อมูลเทอมใหม่ในตัวแปร $new_terms ตัวแปรนี้จะไม่มีข้อมูลคำศัพท์ของหมวดหมู่ WooCommerce ที่เราต้องการซ่อนไว้ในหน้าแรก ซึ่งหมายความว่าสำหรับข้อมูลคำศัพท์แต่ละคำ ฉันกำลังตรวจสอบว่าไม่มีคำว่า id ในอาร์เรย์ $hide_category จากนั้นให้เพิ่มเฉพาะคำนั้นในอาร์เรย์ $new_terms

บทสรุป

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

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

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