WPML
Trạng thái
Đã được giải quyết bởi nhà phát triển
Đã giải quyết trong
WCFM Membership 2.11.8
Plugin/giao diện liên quan
WCFM - WooCommerce Multivendor Membership
Thẻ chủ đề
Compatibility

Tổng quan về lỗi

Khi sử dụng WCFM – Multivendor Marketplace for WooCommerce và tiện ích bổ sung của nó là WooCommerce Multivendor Membership, các email mã xác minh được gửi bằng ngôn ngữ phụ sẽ kế thừa căn lề RTL nếu ngôn ngữ mặc định là RTL (Từ phải sang trái). Điều này xảy ra ngay cả khi ngôn ngữ phụ là LTR (Từ trái sang phải).

Giải pháp tạm thời

Vui lòng đảm bảo tạo bản sao lưu toàn bộ trang web trước khi tiếp tục.


  • Mở …/wp-content/plugins/wc-multivendor-membership/views/emails/email-verification.php

  • Tìm dòng 16

  • Thay thế:
    do_action( 'woocommerce_email_header', $email_heading, $email );
    ?>


  • Bằng:
    // Workaround for compsupp-7719
    // Switch language context
    if( apply_filters( 'wcfm_allow_wpml_email_translation', true ) ) {
    	do_action('wpml_switch_language_for_email', $user_email);
    }
    
    ?>
    <!DOCTYPE html>
    <html <?php language_attributes(); ?>>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=<?php bloginfo( 'charset' ); ?>" />
    		<meta content="width=device-width, initial-scale=1.0" name="viewport">
    		<title><?php echo get_bloginfo( 'name', 'display' ); ?></title>
    	</head>
    	<body <?php echo is_rtl() ? 'rightmargin' : 'leftmargin'; ?>="0" marginwidth="0" topmargin="0" marginheight="0" offset="0">
    		<table width="100%" id="outer_wrapper">
    			<tr>
    				<td><!-- Deliberately empty to support consistent sizing and layout across multiple email clients. --></td>
    				<td width="600">
    					<div id="wrapper" dir="<?php echo is_rtl() ? 'rtl' : 'ltr'; ?>">
    						<table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%">
    							<tr>
    								<td align="center" valign="top">
    									<div id="template_header_image">
    										<?php
    										$img = get_option( 'woocommerce_email_header_image' );
    
    										if ( $img ) {
    											echo '<p style="margin-top:0;"><img src="' . esc_url( $img ) . '" alt="' . esc_attr( get_bloginfo( 'name', 'display' ) ) . '" /></p>';
    										}
    										?>
    									</div>
    									<table border="0" cellpadding="0" cellspacing="0" width="100%" id="template_container">
    										<tr>
    											<td align="center" valign="top">
    												<!-- Header -->
    												<table border="0" cellpadding="0" cellspacing="0" width="100%" id="template_header">
    													<tr>
    														<td id="header_wrapper" >
    															<h1 style="text-align: <?php echo is_rtl() ? 'right' : 'left'; ?>"><?php echo esc_html( $email_heading ); ?></h1>
    														</td>
    													</tr>
    												</table>
    												<!-- End Header -->
    											</td>
    										</tr>
    										<tr>
    											<td align="center" valign="top">
    												<!-- Body -->
    												<table border="0" cellpadding="0" cellspacing="0" width="100%" id="template_body">
    													<tr>
    														<td valign="top" id="body_content">
    															<!-- Content -->
    															<table border="0" cellpadding="20" cellspacing="0" width="100%">
    																<tr>
    																	<td valign="top">
    																		<div id="body_content_inner" style="text-align: <?php echo is_rtl() ? 'right' : 'left'; ?>">
  • Và thêm đoạn mã sau vào cuối tệp (khoảng dòng 88)
    <?php
    // switch language back
    	if( apply_filters( 'wcfm_allow_wpml_email_translation', true ) ) {
    		do_action('wpml_restore_language_from_email');
    	}
    ?>

Tất cả các lỗi đã ghi nhận →