วิธีสร้างรหัสย่อผลิตภัณฑ์ที่ดูล่าสุดของ WooCommerce
เผยแพร่แล้ว: 2021-05-05คุณกำลังมองหาวิธีแสดงสินค้าที่เพิ่งดูโดยใช้รหัสสั้นหรือไม่? ในโพสต์นี้ ฉันต้องการแสดงวิธีสร้างรหัสย่อของผลิตภัณฑ์ WooCommerce ที่เพิ่งดู ตามค่าเริ่มต้น WooCommerce อนุญาตให้คุณใช้วิดเจ็ตเพื่อแสดงรายการผลิตภัณฑ์ที่ลูกค้าเพิ่งดู
โซลูชันในตัวนี้มีประสิทธิภาพมาก และเราเชื่อว่าจะกลายเป็นบล็อกของ Gutenberg ในไม่ช้า
อย่างไรก็ตาม คุณอาจต้องการแสดงผลิตภัณฑ์ที่เกี่ยวข้องในหน้าใหม่ ซึ่งหมายความว่าคุณต้องสร้างรหัสย่อ
รหัสย่อผลิตภัณฑ์ที่เพิ่งดูของ WooCommerce
ในบทช่วยสอนสั้นๆ นี้ เราจะแชร์วิธีสร้างชอร์ตโค้ดอย่างง่ายสำหรับแสดงผลิตภัณฑ์ที่เพิ่งดู ก่อนที่คุณจะดำเนินการต่อ คุณต้องทราบว่าโซลูชันนี้เกี่ยวข้องกับการจัดการโค้ด
หากคุณไม่คุ้นเคยกับการจัดการโค้ด เราขอแนะนำให้คุณติดต่อนักพัฒนา WordPress ที่มีคุณสมบัติ เพื่อไม่ให้ไซต์ของคุณยุ่งเหยิง
คุณควรสร้างธีมลูกเพื่อไม่ให้การเปลี่ยนแปลงของคุณหายไประหว่างการอัปเดต
มาดูกันว่าคุณจะบรรลุเป้าหมายนี้ได้อย่างไร
ขั้นตอนในการเพิ่มรหัสย่อของผลิตภัณฑ์ที่ดูล่าสุด
ในการสร้างรหัสย่อ เราจะใช้ประโยชน์จากรหัสย่อ [ผลิตภัณฑ์] ที่มีอยู่และ "ส่งผ่าน" รหัสผลิตภัณฑ์ไปยังรหัสดังกล่าวโดยไม่จำเป็นต้องสร้างวงล้อขึ้นใหม่
หรือคุณสามารถสร้างปลั๊กอินที่ลงทะเบียนรหัสย่อลงในธีมได้ เราจะใช้วิธีนี้เนื่องจากเป็นวิธีที่ง่ายที่สุด
คุณต้องสร้างโฟลเดอร์ใหม่ด้วยชื่อของปลั๊กอิน
หากคุณไม่เห็นสินค้าล่าสุด นั่นเป็นเพราะคุณยังต้องมีวิดเจ็ตสินค้าที่ดูล่าสุดทำงานอยู่ คุกกี้ "woocommerce_recently_viewed" จะถูกเก็บไว้เฉพาะเมื่อมีการใช้งานวิดเจ็ตผลิตภัณฑ์ที่ดูล่าสุด
ข้อมูลที่สำคัญที่สุดที่เราต้องการจะถูกเก็บไว้ในคุกกี้ที่เรียกว่า $_COOKIE['woocommerce_recently_viewed']
คุณสามารถใส่รหัสของคุณเองเพื่อติดตาม/สร้างคุกกี้ได้หากต้องการ:
function custom_track_product_view() { if ( ! is_singular( 'product' ) ) { return; } global $post; if ( empty( $_COOKIE['woocommerce_recently_viewed'] ) ) $viewed_products = array(); else $viewed_products = (array) explode( '|', $_COOKIE['woocommerce_recently_viewed'] ); if ( ! in_array( $post->ID, $viewed_products ) ) { $viewed_products[] = $post->ID; } if ( sizeof( $viewed_products ) > 15 ) { array_shift( $viewed_products ); } // Store for session only wc_setcookie( 'woocommerce_recently_viewed', implode( '|', $viewed_products ) ); } add_action( 'template_redirect', 'custom_track_product_view', 20 );
นี่คือรหัสเต็มสำหรับปลั๊กอิน:
function njengah_woocommerce_recently_viewed_products( $atts, $content = null ) { // Get shortcode parameters extract(shortcode_atts(array( "per_page" => '5' ), $atts)); // Get WooCommerce Global global $woocommerce; // Get recently viewed product cookies data $viewed_products = ! empty( $_COOKIE['woocommerce_recently_viewed'] ) ? (array) explode( '|', $_COOKIE['woocommerce_recently_viewed'] ) : array(); $viewed_products = array_filter( array_map( 'absint', $viewed_products ) ); // If no data, quit if ( empty( $viewed_products ) ) return __( 'You have not viewed any product yet!', 'rc_wc_rvp' ); // Create the object ob_start(); // Get products per page if( !isset( $per_page ) ? $number = 5 : $number = $per_page ) // Create query arguments array $query_args = array( 'posts_per_page' => $number, 'no_found_rows' => 1, 'post_status' => 'publish', 'post_type' => 'product', 'post__in' => $viewed_products, 'orderby' => 'rand' ); // Add meta_query to query args $query_args['meta_query'] = array(); // Check products stock status $query_args['meta_query'][] = $woocommerce->query->stock_status_meta_query(); // Create a new query $r = new WP_Query($query_args); // If query return results if ( $r->have_posts() ) { $content = '<ul class="rc_wc_rvp_product_list_widget">'; // Start the loop while ( $r->have_posts()) { $r->the_post(); global $product; $content .= '<li> <a href="' . get_permalink() . '"> ' . ( has_post_thumbnail() ? get_the_post_thumbnail( $r->post->ID, 'shop_thumbnail' ) : woocommerce_placeholder_img( 'shop_thumbnail' ) ) . ' ' . get_the_title() . ' </a> ' . $product->get_price_html() . ' </li>'; } $content .= '</ul>'; } // Get clean object $content .= ob_get_clean(); // Return whole content return $content; } // Register the shortcode add_shortcode("woocommerce_recently_viewed_products", "njengah_woocommerce_recently_viewed_products");
หลังจากเพิ่มโค้ดแล้ว ให้เพิ่ม [woocommerce_recently_viewed_products per_page=”5″] ในหน้าใดก็ได้
นี่คือผลลัพธ์:
บทสรุป
ในบทช่วยสอนสั้นๆ นี้ เราได้แชร์วิธีแสดงผลิตภัณฑ์ที่เพิ่งดูล่าสุดโดยใช้รหัสย่อ
คุณควรระมัดระวังในการแก้ไขไฟล์ functions.php เพราะหากคุณทำผิดพลาด ไฟล์นั้นจะแสดงข้อผิดพลาดร้ายแรง
บทความที่คล้ายกัน
- 100+ Tips, Tricks & Snippets Ultimate WooCommerce ซ่อนคู่มือ
- วิธีใช้ WordPress Shortcodes ในเพจหรือโพสต์พร้อมตัวอย่าง
- วิธีสร้างหน้าบัญชีของฉันใน WooCommerce
- วิธีสร้างรหัสย่อการเข้าสู่ระบบ WooCommerce ออกจากระบบ
- วิธีการนำเข้าสินค้า WooCommerce
- วิธีตั้งค่าราคาสินค้า WooCommerce ต่อกิโลกรัม
- วิธีสร้างผลิตภัณฑ์ด้วยโปรแกรม WooCommerce
- วิธีสร้างผลิตภัณฑ์ลับของ WooCommerce
- วิธีสร้าง WooCommerce หลังจากเปลี่ยนเส้นทางการเข้าสู่ระบบไปยังโฮมเพจ
- วิธีสร้าง WooCommerce ปุ่ม Add to Cart โดย Product Id
- วิธีสร้างคำสั่งซื้อโดยทางโปรแกรม WooCommerce
- วิธีเพิ่ม WooCommerce เปลี่ยนเส้นทางหน้าบัญชีของฉัน
- วิธีการส่งออกสินค้าใน WooCommerce
- วิธีเพิ่ม SKU ของผลิตภัณฑ์ใน WooCommerce
- วิธีการทำซ้ำผลิตภัณฑ์ใน WooCommerce
- วิธีใช้ do_shortcode ใน WordPress (PHP)
- วิธีสร้างหน้าร้านค้าที่กำหนดเองของ WooCommerce
- วิธีรับรายละเอียดการสั่งซื้อหลังจากชำระเงินใน WooCommerce
- วิธีเพิ่มราคาให้กับแอตทริบิวต์ใน WooCommerce
- วิธีตั้งค่าการจัดส่งฟรีด้วยการใช้จ่ายขั้นต่ำใน WooCommerce