web-dev-qa-db-fra.com

Comment puis-je filtrer par slug en fonction de la langue choisie

Je suis nouveau sur ce site, mais en regardant la qualité des réponses fournies ici, je serai ici pendant longtemps :)

Ok, d'abord un peu d'infos:

Je développe un site Web bilingue (anglais et japonais) à l'aide de Wordpress et du système de gestion de contenu multilingue WPML. Le site concerne un café à Tokyo, au Japon. Tous les noms et descriptions de produits ont été écrits en anglais et traduits en japonais. Ce faisant, en utilisant WPML, produit 2 produits identiques, un en anglais et un en japonais. Les bouchons portent le nom du nom du produit. Ainsi, par exemple, le produit "Cappuccino au caramel" contient le mot "cappuccino au caramel". Et, la version japonaise correspondante a la limace "caramel-cappuccino-ja". Il en va de même pour tous les produits dans les deux langues, tous les produits en version japonaise obtenant -ja à la fin.

Maintenant vient mon problème:

Il y a un modèle, qui a été inclus par l'auteur du thème, qui produit un menu comme on le verrait dans un restaurant. Le problème est que le menu affiche tous les produits dans les deux langues, que l'anglais ou le japonais ait été sélectionné comme langue du site par l'utilisateur. Donc, si vous vérifiez les liens ci-dessous, vous verrez que tous les produits sont affichés deux fois. Vous pouvez voir la situation actuelle ici:

Anglais: http://www.oasis-radio.net/mobile/wordpress/menu/ japonais: http : //www.oasis-radio.net/mobile/wordpress/ja/menu-ja/

Ce que je veux faire:

Je souhaite créer une sorte de boucle dans laquelle, si la langue sélectionnée est l'anglais, seules les versions anglaises des produits sont affichées. De même, si la langue sélectionnée est le japonais, seules les versions japonaises des produits sont affichées. J'ai essayé plusieurs choses mais je n'arrive pas à faire fonctionner quoi que ce soit.

C'est le code php du template qui produit la page Menu:

    <?php
/**
 *
 * A custom page template without sidebar, full width.
 *
 * @package WordPress
 * @subpackage Ermark Adora
 *
 */

    get_header();

    echo '<div class="section clearfix">';
        if (get_option('ermad_products_menu_of_the_day', 'false')=='true') {
            echo '<div class="menuDescription">';       
        }

             if ( have_posts() ) while ( have_posts() ) : the_post(); 
                 if ( is_front_page() ) { 
                    echo '<h2 class="entry-title">'.get_the_title().'</h2>';
                 } else { 
                    echo '<h1 class="entry-title">'.get_the_title().'</h1>';
                 } 

                the_content();

                wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'adora' ), 'after' => '</div>' ) );

                edit_post_link( __( 'Edit', 'adora' ), '<span class="edit-link">', '</span>' );
            endwhile;


        if (get_option('ermad_products_menu_of_the_day', 'false')=='true') {
            echo '</div>';
            echo '<div class="menuDayOffer">';
                echo '<p>'.get_option('ermad_products_menu_description', 'Go to admin panel to edit this description, you must add text for two lines for shure.').'</p>';
                loadProductsInOffer();
            echo '</div>';
        }

    echo '</div>';

    ?>  
        <div class="section hr"></div>

        <div class="section clearfix">

            <div id="wrapper-prices-center" >
            <div id="wrapper-prices-bottom" >
            <div id="wrapper-prices-top" >

            <?php  loadProductsCateg(); ?>

            </div>          
            </div>          
            </div>          
        </div>          

        <div class="section hr"></div>

<?php 

get_footer(); ?>

Toute aide serait grandement appréciée!

Dan

1
Dan Elliot

WPML possède une fonctionnalité appelée "Ajuster automatiquement les identifiants" qui détecte le moment où des éléments spécifiques sont chargés et ajuste les identifiants de sorte que les résultats soient ajustés pour la langue active.

Cette fonctionnalité est activée par défaut et est accessible via WPML-> Langues (visible en mode avancé):

1
Bainternet