Rediriger un formulaire de recherche avec WPML

Vous utilisez WPML pour la gestion de votre site multilingue et vous souhaitez rediriger votre formulaire de recherche vers la page des résultats dans la bonne langue, vous êtes sur la bonne page.

Par exemple, votre formulaire de recherche est de la forme suivante:

<form action="http://www.monsite.com/" id="searchform" method="get">
  <input type="text" id="s" name="s" value=""/>
  <input type="submit" value="Rechercher" id="searchsubmit"/>
</form>

Pour que la page des résultats soit affichée dans la langue courante, ajoutez le code suivant:

<input type="hidden" name="lang" value="<?php echo(ICL_LANGUAGE_CODE); ?>"/>

 

Votre formulaire sera donc de la forme:

<form action="http://www.monsite.com/" id="searchform" method="get">
  <input type="text" id="s" name="s" value=""/>
  <input type="submit" value="Rechercher" id="searchsubmit"/>
  <input type="hidden" name="lang" value="<?php echo(ICL_LANGUAGE_CODE); ?>"/>
</form>

 

Insérer les le sélecteur de langues WPML dans un template

Vous souhaitez intégrer le sélecteur de langues dans l’un de vos templates WordePress, insérez la portion de code suivante dans le fichier concerné de votre thème:

<?php
if(function_exists('icl_get_languages')):
    $languages = icl_get_languages('skip_missing=1&orderby=custom');
     
    if(count($languages) >= 1):
         
        foreach((array)$languages as $language):            
            ?>
            <span class="icl-<?php echo $language['language_code']; ?><?php echo $language['active'] == 1 ? ' icl-current' : ''; ?>">          
                <a rel="alternate" hreflang="<?php echo $language['language_code']; ?>" href="<?php echo $language['url']; ?>"><img src="<?php echo $language['country_flag_url']; ?>" alt="<?php echo $language['native_name']; ?>" title="<?php echo $language['native_name']; ?>" /></a> 
            </span>
            <?php
        endforeach;
    endif;
endif;
?>