- Trạng thái
- Đã giải quyết
- Được báo cáo cho
- WPML Multilingual & Multicurrency for WooCommerce 4.12.6
- Đã giải quyết trong
- WooCommerce Multilingual & Multicurrency 5.5.2
Tổng quan về lỗi
WPML Đa ngôn ngữ & Đa tiền tệ cho WooCommerce hiện cho phép bạn dịch và hiển thị các đánh giá sản phẩm. Tuy nhiên, hiện tại vẫn chưa thể dịch các phản hồi cho những đánh giá đó.
Giải pháp tạm thời
Vui lòng tạo một bản sao lưu đầy đủ cho trang web của bạn trước khi tiếp tục.
- Chỉnh sửa tệp wp-content/plugins/woocommerce-multilingual/classes/Reviews/Translations/FrontEndHooks.php.
- Thay thế:
private static function isNonEmptyReview( $comment ) { return Obj::prop( 'comment_content', $comment ) && Relation::propEq( 'comment_type', self::COMMENT_TYPE, $comment ); }Bằng:
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 ); } - Sau đó, mở tệp wp-content/plugins/woocommerce-multilingual/classes/Reviews/Translations/Mapper.php.
- Thay thế:
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 ); }Bằng:
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 ); } - Cuối cùng, đi tới WooCommerce → WooCommerce Multilingual → Trạng thái và nhấp vào liên kết Khắc phục sự cố.
- Chọn Đăng ký đánh giá sản phẩm để dịch.
- Nhấp vào nút Bắt đầu.