WooCommerce การปรับแต่ง Tabs

หากใครใช้ปลั๊กอิน WooCommerce จะสังเกตว่าด้านล่างนั้นจะมี Product tabs ที่แสดงข้อมูลต่างๆ อยู่ที่ว่าเราได้ใส่ข้อมูลเหล่านี้หรือไม่

  • Description มาจากเนื้อหาของสินค้า
  • Additional Information มาจาก Product attributes 
  • Review จะมีถ้าเราเปิดใช้การรีวิวจากลูกค้า

เราสามารถที่จะลบแท็บเหล่านี้ไปเลย หรือแก้ไขชื่อ หรือแก้ไขลำดับของแท็บเหล่านี้ก็ได้ แต่จะต้องเป็นเว็บที่ใช้ child theme ซึ่งจะแก้ไขในไฟล์ function.php ของ child theme นั้นๆ ซึ่งหากใครไม่ได้สร้าง child theme ก็สามารถใช้ปลั๊กอิน Code Snippets ในการสร้างฟังชั่นเหล่านี้ได้

ลบแท็บที่ไม่ต้องการ

โดยการใช้โค้ดด้านล่างนี้ ซึ่งเป็นโค้ดที่แสดงการลบแท็บทั้งหมดนะคะ เมื่อเราใช้งานจริงๆ ก็เอาเฉพาะอันที่ต้องการลบ อันไหนไม่ต้องการลบก็ลบบรรทัดนั้นออกจากโค้ดค่ะ 

add_filter( 'woocommerce_product_tabs', 'woo_remove_product_tabs', 98 );

function woo_remove_product_tabs( $tabs ) {

    unset( $tabs['description'] );      	// ลบ description
    unset( $tabs['reviews'] ); 			// ลบ review
    unset( $tabs['additional_information'] );  	// ลบ additional inforation
    return $tabs;
}

เปลี่ยนชื่อแท็บ

ใช้โค้ดด้านล่างเปลี่ยนชื่แท็บ อันไหนไม่ต้องการเปลี่ยนก็ลบออกทั้งบรรทัดไปเลยเช่นกัน

add_filter( 'woocommerce_product_tabs', 'woo_rename_tabs', 98 );
function woo_rename_tabs( $tabs ) {

	$tabs['description']['title'] = __( 'More Information' );		// เปลี่ยน description เป็น More Information
	$tabs['reviews']['title'] = __( 'Ratings' );				// เปลี่ยน review เป็น Ratings
	$tabs['additional_information']['title'] = __( 'Product Data' );	// เปลี่ยน additional information เป็น Product Data

	return $tabs;

}

เปลี่ยนลำดับ

ทำการแก้ไขสลับตำแหน่งใหม่ โดยการจัดตำแหน่งนี้กำหนดลำดับความสำคัญก่อนหลังด้วยค่าตัวเลข ซึ่งก็คือ 5, 10, 15 ที่อยู่ในแต่ละบรรทัดนั่นเอง อยากให้อันไหนขึ้นก่อน ก็เปลี่ยนเป็นเลขที่มีค่ามาก่อนเรียงตามการนับเลขจริงนั่นเอง

add_filter( 'woocommerce_product_tabs', 'woo_reorder_tabs', 98 );
function woo_reorder_tabs( $tabs ) {

	$tabs['reviews']['priority'] = 5;			// เอา reviews ขึ้นก่อน
	$tabs['description']['priority'] = 10;			// เอา description ตามมา
	$tabs['additional_information']['priority'] = 15;	// เอา Additional information ไว้หลังสุด

	return $tabs;
}