วิธีเพิ่มแอตทริบิวต์ผลิตภัณฑ์ WooCommerce ด้วยรูปแบบต่างๆ: 2 วิธี

เผยแพร่แล้ว: 2021-05-25

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

คุณลักษณะ WooCommerce คืออะไร?

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

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

แอตทริบิวต์มีความจำเป็นสำหรับ:

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

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

ตอนนี้เราเข้าใจแอตทริบิวต์ดีขึ้นแล้ว มาดูวิธีเพิ่มแอตทริบิวต์ของผลิตภัณฑ์ด้วยรูปแบบต่างๆ ใน ​​WooCommerce

วิธีเพิ่มแอตทริบิวต์ผลิตภัณฑ์ WooCommerce ด้วยรูปแบบต่างๆ

มีสองวิธีหลักในการเพิ่มคุณลักษณะของผลิตภัณฑ์ด้วยรูปแบบต่างๆ ใน ​​WooCommerce:

  1. จากแดชบอร์ด WooCommerce
  2. โดยทางโปรแกรม

ลองดูทั้งสองตัวเลือก

1) สร้างคุณลักษณะของผลิตภัณฑ์ด้วยรูปแบบต่างๆ จากแดชบอร์ด WooCommerce

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

วิธีเพิ่มแอตทริบิวต์ผลิตภัณฑ์ WooCommerce ด้วยรูปแบบต่างๆ

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

หลังจากเพิ่มแอตทริบิวต์ผลิตภัณฑ์แล้ว คุณต้องเพิ่มคำบางคำที่จะกลายเป็นรูปแบบต่างๆ ของผลิตภัณฑ์บางประเภท

ตัวอย่างเช่น หากแอตทริบิวต์คือขนาดหน้าจอ ขนาดต่างๆ (13 นิ้ว 15 นิ้ว 17 นิ้ว) จะเป็นข้อกำหนด

ด้วยวิธีนี้ คุณสามารถรวมคุณลักษณะต่างๆ ของแต่ละผลิตภัณฑ์และสร้างรูปแบบต่างๆ ได้ ตัวอย่างเช่น คุณจะได้แล็ปท็อปสีแดงขนาด 13 นิ้ว แล็ปท็อปขนาด 15 นิ้วสีน้ำเงิน และอื่นๆ

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

มาดูวิธีการ เพิ่มคุณลักษณะของผลิตภัณฑ์ด้วยรูปแบบต่างๆ ใน ​​WooCommerce โดยทางโปรแกรม

2. วิธีสร้างคุณลักษณะของผลิตภัณฑ์ด้วยรูปแบบต่างๆ โดยทางโปรแกรม

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

หมายเหตุ : เนื่องจากเราจะแก้ไขไฟล์หลักบางไฟล์ ก่อนที่คุณจะเริ่ม เราขอแนะนำให้คุณ:

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

โปรดทราบว่าคุณควรใส่โค้ดที่กำหนดเองลงในไฟล์ functions.php ของธีมย่อยของคุณ

หลังจากที่คุณได้สำรองข้อมูลไซต์ของคุณและสร้างธีมย่อยแล้ว ในแดชบอร์ด WordPress ของคุณ ให้ไปที่ ลักษณะที่ ปรากฏ > ปรับแต่ง และค้นหาไฟล์ functions.php ที่คอลัมน์ด้านขวา จากนั้นวางโค้ดต่อไปนี้ที่ส่วนท้ายของไฟล์

สคริปต์ PHP แบบเต็ม

นี่คือสคริปต์ฉบับเต็ม ในส่วนถัดไป เราจะแบ่งเป็นส่วนๆ และอธิบายว่าแต่ละส่วนทำอะไร

 add_action('admin_init', 'QuadLayers_add_product_attributes');

ฟังก์ชัน QuadLayers_add_product_attributes(){
    $atts=array(
        'size'=>array('XL','Small'),
        'color'=>array('สีน้ำตาล','สีเทา','สีเหลือง'),   
    ); 
    foreach ($atts เป็น $key => $values) { 
       ใหม่ add_attribute($key,$values); 
    }
}

คลาส add_attribute{   
     /*
     * ลงทะเบียนคลาสแอตทริบิวต์ผลิตภัณฑ์ woocommerce ทั่วโลก
     *
     * @param str $nam | ชื่อของแอตทริบิวต์
     * @param arr $vals | อาร์เรย์ของรูปแบบต่างๆ
     * 
     */
    ฟังก์ชั่นสาธารณะ __construct($nam,$vals){

                $attrs = อาร์เรย์ ();      
                $แอตทริบิวต์ = wc_get_attribute_taxonomies();                          
                    foreach ($ แอตทริบิวต์เป็น $key => $value) {
                        array_push($attrs,$attributes[$key]->attribute_name);                    
                    }              
               if ( ! in_array( $nam, $attrs ) ) {            
                    $args = อาร์เรย์ (
                        'id' => '',
                        'กระสุน' => $nam,
                        'name' => __( $nam, 'woocommerce' ),
                        'type' => 'เลือก',
                        'orderby' => 'menu_order',
                        'has_archives' => เท็จ
                        'จำกัด' => 1,
                        'is_in_stock' => 1
                    );                    
                   ส่งคืน wc_create_attribute( $args ); 
                }               
               $this->add_var($nam,$vals);
    }

    ฟังก์ชั่นสาธารณะ add_var($nam,$vals ){  
        $taxonomy = 'pa_'.$nam;      
        $term_slug = sanitize_title($นาม); 
        // ตรวจสอบว่ามีคำอยู่หรือไม่ ถ้าไม่ใช่คำนั้นให้สร้าง (และรับ ID ของคำ)
        สำหรับ ($ff=0; $ffterm_id;
            }
        }
    }
}

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

นอกจากนี้ โปรดทราบว่าสำหรับตัวอย่างนี้ เรากำลังเพิ่มแอตทริบิวต์และข้อกำหนดบางอย่าง คุณต้องแก้ไขอาร์เรย์ด้านล่างและสร้างแอตทริบิวต์ของคุณเอง

 ฟังก์ชัน QuadLayers_add_product_attributes(){
    $atts=array(
        'new-attribute'=>array('aside','beside','long','none','short'),        
    ); 

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

คุณสมบัติของสินค้ารูปแบบต่างๆ

หากคุณไม่เห็นรูปแบบต่างๆ ให้โหลดหน้าเว็บซ้ำเพื่อเติมข้อมูล

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

คุณลักษณะจะพร้อมใช้งานสำหรับการตั้งค่ารูปแบบผลิตภัณฑ์

และนั่นแหล่ะ! ตอนนี้คุณสามารถแก้ไขสคริปต์ PHP และเพิ่มคุณลักษณะและรูปแบบผลิตภัณฑ์ WooCommerce ของคุณเองได้ คุณยังสามารถอัปเดตแบบไดนามิกได้โดยใช้ตรรกะแบบมีเงื่อนไข

สคริปต์ทำงานอย่างไร

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

ส่วนหลักของสคริปต์คือ:

ตะขอ
 add_action('admin_init', 'QuadLayers_add_product_attributes');

ฟังก์ชัน QuadLayers_add_product_attributes(){
    $atts=array(
        'size'=>array('XL','Small'),
        'color'=>array('สีน้ำตาล','สีเทา','สีเหลือง'),   
    ); 
    foreach ($atts เป็น $key => $values) { 
       ใหม่ add_attribute($key,$values); 
    }
}

เราใช้ admin_init() เพื่อเปิดโค้ด คุณสามารถใช้ hooks อื่น ๆ ได้ที่นี่ แต่ในกรณีของเรา เราชอบประสิทธิภาพของสคริปต์ที่ใช้อันนี้

ในฟังก์ชัน hooked เรากำหนดค่าแอตทริบิวต์และรูปแบบของเราในอาร์เรย์หลายมิติเดียว foreach() ลูปจะสร้างแอตทริบิวต์สำหรับแต่ละองค์ประกอบของอาร์เรย์หลัก

ภายในลูป แอตทริบิวต์ถูกสร้างขึ้นโดยคลาส add_attribute(); .

ห้องเรียน

เราได้สร้างคลาส OOP ที่รับผิดชอบในการสร้างแอตทริบิวต์และเพิ่มรูปแบบบางอย่างลงไป สิ่งนี้สร้างขึ้นในการรันครั้งเดียวทุกครั้งที่สร้างคลาส โดยใช้ new add_attribute() ในส่วนด้านบน

 คลาส add_attribute{   
    ฟังก์ชั่นสาธารณะ __construct($nam,$vals){
                $attrs = อาร์เรย์ ();      
                $แอตทริบิวต์ = wc_get_attribute_taxonomies();                          
                    foreach ($ แอตทริบิวต์เป็น $key => $value) {
                        array_push($attrs,$attributes[$key]->attribute_name);                    
                    }              
               if ( ! in_array( $nam, $attrs ) ) {            
                    $args = อาร์เรย์ (
                        'id' => '',
                        'กระสุน' => $nam,
                        'name' => __( $nam, 'woocommerce' ),
                        'type' => 'เลือก',
                        'orderby' => 'menu_order',
                        'has_archives' => เท็จ
                        'จำกัด' => 1,
                        'is_in_stock' => 1
                    );                    
                   ส่งคืน wc_create_attribute( $args ); 
                }               
               $this->add_var($nam,$vals);
    }

ฟังก์ชั่นแรกคือ construct() และมันสร้างแอตทริบิวต์โดยใช้ wc_create_attribute() ฟังก์ชัน WooCommerce ที่สร้างขึ้นในขณะที่เรียกใช้ฟังก์ชันที่สอง: add_var()

 ฟังก์ชั่นสาธารณะ add_var($nam,$vals ){  
        $taxonomy = 'pa_'.$nam;      
        $term_slug = sanitize_title($นาม); 
        // ตรวจสอบว่ามีคำอยู่หรือไม่ ถ้าไม่ใช่คำนั้นให้สร้าง (และรับ ID ของคำ)
        สำหรับ ($ff=0; $ff < นับ($vals) ; $ff++) {
            if( !term_exists( $vals [ $ff ] , $taxonomy ) ){ $term_data = wp_insert_term($vals [ $ff ] , $taxonomy ); $term_id = $term_data['term_id']; } อื่นๆ { $term_id = get_term_by( 'ชื่อ', $vals [ $ff ] , $taxonomy )->term_id; } } }

ฟังก์ชันที่สอง add_var() จะเพิ่มรูปแบบทั้งหมดที่รวมอยู่ในอาร์เรย์ดั้งเดิมสำหรับแอตทริบิวต์ที่ส่งผ่านฟังก์ชันด้วย

บทสรุป

โดยสรุป คุณลักษณะของผลิตภัณฑ์ช่วยให้คุณสามารถสร้างผลิตภัณฑ์ที่หลากหลายและช่วยให้ผู้ใช้กรองผลิตภัณฑ์ตามคุณลักษณะบางอย่างได้

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

  1. จากแดชบอร์ดผู้ดูแลระบบ
  2. โดยทางโปรแกรม

การสร้างแอตทริบิวต์จากแดชบอร์ด WooCommerce เป็นเรื่องง่าย อย่างไรก็ตาม อาจใช้เวลานานหากคุณต้องการเพิ่มคุณลักษณะหลายอย่างสำหรับผลิตภัณฑ์หลายรายการ

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

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

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

คุณได้สร้างคุณลักษณะของผลิตภัณฑ์ในร้านค้าของคุณหรือไม่? คุณใช้วิธีไหน? แจ้งให้เราทราบในความคิดเห็นด้านล่าง!