- ステータス
- 開発者により解決済み
- 解決されたバージョン
- WCFM Membership 2.11.8
- 関連するプラグイン/テーマ
- WCFM - WooCommerce Multivendor Membership
- トピックタグ
- Compatibility
問題の概要
WCFM – Multivendor Marketplace for WooCommerceおよびそのアドオンであるWooCommerce Multivendor Membershipを使用している場合、デフォルト言語がRTL(右から左)であると、セカンダリ言語で送信される認証コードのメールはRTLの配置を継承します。これは、セカンダリ言語がLTR(左から右)であっても発生します。
回避策
作業を進める前に、サイトの完全なバックアップを必ず作成してください。
- …/wp-content/plugins/wc-multivendor-membership/views/emails/email-verification.phpを開きます
- 16行目を探します
- 以下のコードを:
do_action( 'woocommerce_email_header', $email_heading, $email ); ?>
- 次のコードに置き換えます:
// 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'; ?>"> - ファイルの最後(88行目付近)に以下のコードを追加します
<?php // switch language back if( apply_filters( 'wcfm_allow_wpml_email_translation', true ) ) { do_action('wpml_restore_language_from_email'); } ?>