WPML
Statut
Résolu par l’auteur
Résolu dans
WCFM Membership 2.11.8
Extension/thème associé
WCFM - WooCommerce Multivendor Membership
Étiquettes de sujet
Compatibility

Aperçu de l’anomalie

Lors de l’utilisation de WCFM – Multivendor Marketplace for WooCommerce et de son module complémentaire WooCommerce Multivendor Membership, les e-mails de code de vérification envoyés dans les langues secondaires héritent de l’alignement RTL si la langue par défaut est RTL (de droite à gauche). Cela se produit même si la langue secondaire est LTR (de gauche à droite).

Solution de contournement

Veuillez vous assurer d’avoir une sauvegarde complète de votre site avant de continuer.


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

  • Cherchez la ligne 16

  • Remplacez :
    do_action( 'woocommerce_email_header', $email_heading, $email );
    ?>


  • Par :
    // 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'; ?>">
  • Et ajoutez le code suivant à la fin du fichier (vers la ligne 88)
    <?php
    // switch language back
    	if( apply_filters( 'wcfm_allow_wpml_email_translation', true ) ) {
    		do_action('wpml_restore_language_from_email');
    	}
    ?>

Toutes les anomalies connues →