WPML
สถานะ
แก้ไขแล้ว
รายงานสำหรับ
WPML Multilingual & Multicurrency for WooCommerce 4.12.6
แก้ไขใน
WooCommerce Multilingual & Multicurrency 5.5.2

ภาพรวมของปัญหา

ตอนนี้ WPML Multilingual & Multicurrency for WooCommerce ช่วยให้คุณสามารถแปลและแสดงรีวิวสินค้าได้แล้ว อย่างไรก็ตาม ยังไม่สามารถแปลการตอบกลับรีวิวเหล่านั้นได้

วิธีแก้ปัญหาชั่วคราว

โปรดสำรองข้อมูลเว็บไซต์ของคุณอย่างสมบูรณ์ก่อนดำเนินการต่อ


  1. แก้ไขไฟล์ wp-content/plugins/woocommerce-multilingual/classes/Reviews/Translations/FrontEndHooks.php

  2. แทนที่:
    	private static function isNonEmptyReview( $comment ) {
    		return Obj::prop( 'comment_content', $comment )
    		       && Relation::propEq( 'comment_type', self::COMMENT_TYPE, $comment );
    	}

    ด้วย:

    	private static function isNonEmptyReview( $comment ) {
    		return Obj::prop( 'comment_content', $comment )
    		       && Relation::propEq( 'comment_type', self::COMMENT_TYPE, $comment ) || Relation::propEq( 'comment_type', 'comment', $comment );
    	}


  3. จากนั้นเปิดไฟล์ wp-content/plugins/woocommerce-multilingual/classes/Reviews/Translations/Mapper.php

  4. แทนที่:
    	private function getUnregisteredReviews() {
    		// phpcs:disable WordPress.DB.PreparedSQL.NotPrepared
    		$q = "SELECT c.comment_ID, c.comment_post_ID, c.comment_content, c.comment_type, tr.language_code, st.name, st.value
    				FROM {$this->wpdb->comments} AS c
    				LEFT JOIN {$this->wpdb->prefix}icl_translations AS tr
    					ON tr.element_id = c.comment_post_ID AND tr.element_type = 'post_product'
    				LEFT JOIN {$this->wpdb->prefix}icl_strings AS st
    					ON c.comment_content = st.value
    						AND st.context = '" . FrontEndHooks::CONTEXT . "'
    				WHERE c.comment_type = '" . FrontEndHooks::COMMENT_TYPE . "'
    					AND st.name IS null";
    
    		return (array) $this->wpdb->get_results( $q );
    	}

    ด้วย:

    	private function getUnregisteredReviews() {
    		// phpcs:disable WordPress.DB.PreparedSQL.NotPrepared
    		$q = "SELECT c.comment_ID, c.comment_post_ID, c.comment_content, c.comment_type, tr.language_code, st.name, st.value
    				FROM {$this->wpdb->comments} AS c
    				LEFT JOIN {$this->wpdb->prefix}icl_translations AS tr
    					ON tr.element_id = c.comment_post_ID AND tr.element_type = 'post_product'
    				LEFT JOIN {$this->wpdb->prefix}icl_strings AS st
    					ON c.comment_content = st.value
    						AND st.context = '" . FrontEndHooks::CONTEXT . "'
    				WHERE c.comment_type = '" . FrontEndHooks::COMMENT_TYPE . "' OR c.comment_type = 'comment'
    					AND st.name IS null";
    
    		return (array) $this->wpdb->get_results( $q );
    	}


  5. สุดท้าย ไปที่ WooCommerceWooCommerce Multilingualสถานะ และคลิกที่ลิงก์ การแก้ปัญหา

  6. เลือก ลงทะเบียนรีวิวสินค้าสำหรับการแปล

  7. คลิกที่ปุ่ม เริ่ม

ปัญหาที่ทราบแล้วทั้งหมด →