- סטטוס
- ממתין למפתח
- תוסף/ערכת עיצוב קשורים
- Kadence WooCommerce Email Designer
- תגיות נושא
- Compatibility
סקירה כללית של התקלה
בעת שימוש ב־Kadence WC Email Designer עם WPML, ייתכן שתיתקל בבעיה שבה מצייני מיקום כגון {site_title}, {site_address} ו־{site_url} אינם מוחלפים באימיילים מתורגמים כאשר הם מוכנסים בתוך טקסט גוף האימייל. מצייני מיקום אלה ממשיכים לפעול כראוי בשדות ברירת המחדל של הכותרת העליונה או ההערות הנוספות של WooCommerce.
פתרון עוקף
אנא ודא שיש לך גיבוי מלא של האתר שלך לפני שתמשיך.
- פתח את הקובץ …/wp-content/plugins/kadence-woocommerce-email-designer/kadence-woocommerce-email-designer.php.
- חפש את שורה 375.
- החלף את:
$body_text = str_replace( '{site_title}', get_bloginfo( 'name', 'display' ), $body_text ); $body_text = str_replace( '{site_address}', wp_parse_url( home_url(), PHP_URL_HOST ), $body_text ); $body_text = str_replace( '{site_url}', wp_parse_url( home_url(), PHP_URL_HOST ), $body_text ); if ( $order ) { if ( 0 === ( $user_id = (int) $order->get_customer_id() ) ) { $user_id = 'guest'; } if ( class_exists( 'WCML_Orders' ) ) { $order_language = WCML_Orders::getLanguage( $order->get_id() ); if ( $order_language ) { $language_code = $order_language; $name = '[kt_woomail]' . $setting_key; $body_text = apply_filters( 'wpml_translate_single_string', $body_text, 'admin_texts_kt_woomail', $name, $order_language ); } } // Check for placeholders. $body_text = str_replace( '{order_date}', wc_format_datetime( $order->get_date_created() ), $body_text ); $body_text = str_replace( '{order_number}', $order->get_order_number(), $body_text ); $body_text = str_replace( '{customer_first_name}', $order->get_billing_first_name(), $body_text ); $body_text = str_replace( '{customer_last_name}', $order->get_billing_last_name(), $body_text ); $body_text = str_replace( '{customer_full_name}', $order->get_formatted_billing_full_name(), $body_text ); $body_text = str_replace( '{customer_company}', $order->get_billing_company(), $body_text ); $body_text = str_replace( '{customer_email}', $order->get_billing_email(), $body_text ); $body_text = str_replace( '{customer_username}', self::get_username_from_id( $user_id ), $body_text ); } $body_text = apply_filters( 'kadence_woomail_order_body_text', $body_text, $order, $sent_to_admin, $plain_text, $email );
- ב:
// Moved from here if ( $order ) { if ( 0 === ( $user_id = (int) $order->get_customer_id() ) ) { $user_id = 'guest'; } if ( class_exists( 'WCML_Orders' ) ) { $order_language = WCML_Orders::getLanguage( $order->get_id() ); if ( $order_language ) { $language_code = $order_language; $name = '[kt_woomail]' . $setting_key; $body_text = apply_filters( 'wpml_translate_single_string', $body_text, 'admin_texts_kt_woomail', $name, $order_language ); } } // Check for placeholders. $body_text = str_replace( '{order_date}', wc_format_datetime( $order->get_date_created() ), $body_text ); $body_text = str_replace( '{order_number}', $order->get_order_number(), $body_text ); $body_text = str_replace( '{customer_first_name}', $order->get_billing_first_name(), $body_text ); $body_text = str_replace( '{customer_last_name}', $order->get_billing_last_name(), $body_text ); $body_text = str_replace( '{customer_full_name}', $order->get_formatted_billing_full_name(), $body_text ); $body_text = str_replace( '{customer_company}', $order->get_billing_company(), $body_text ); $body_text = str_replace( '{customer_email}', $order->get_billing_email(), $body_text ); $body_text = str_replace( '{customer_username}', self::get_username_from_id( $user_id ), $body_text ); } // To here $body_text = str_replace( '{site_title}', get_bloginfo( 'name', 'display' ), $body_text ); $body_text = str_replace( '{site_address}', wp_parse_url( home_url(), PHP_URL_HOST ), $body_text ); $body_text = str_replace( '{site_url}', wp_parse_url( home_url(), PHP_URL_HOST ), $body_text ); $body_text = apply_filters( 'kadence_woomail_order_body_text', $body_text, $order, $sent_to_admin, $plain_text, $email );