Правильный подход к созданию динамических ссылок между переведенными страницами в WordPress - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть простой веб-сайт, созданный с помощью WordPress, www.recconsulting-services.com , и у меня есть страницы, переведенные как на итальянский, так и на английский.

Как вы можете видеть в верхней части экрана (header.php) Я установил два флага привязки изображения.Если вы нажмете на них, вы будете перенаправлены на итальянскую / английскую версию отображаемой в данный момент страницы.

Вопрос в том, как настроить простой, динамический подход в коде, чтобы установить для href = "" значениепереведенная версия страницы?Страницы - это простые пользовательские файлы шаблонов с именами servizi.php / servizi-eng.php, index.php / index-eng.php, about.php / about-eng.php и т. Д.

Пока что япытаясь реализовать подход с помощью ряда операторов if в заголовке, но все усложняется.Вот что я имею в виду.

<?php
$permalink = get_permalink();
?>
<div class="flag-container">
<!-- Italian Flag -->
    <a 
    href=           
    <?php 
    if (is_home()) {
        echo get_home_url();    
    }
    else {
        if (get_the_ID(90)) {
            echo get_home_url();
        }
        else {
            if (strpos($permalink, 'eng') == true) {
                echo str_replace('-eng', '', $permalink);
            }
        }
    }
    ?> 

    class="flags flag-icon"><img class="flag-icon" src="<?php echo get_bloginfo('stylesheet_directory') ?>/images/italy.png" alt=""></a>
    <!-- English Flag -->
    <a href=
    <?php 
    if (is_home()) {
        echo get_post_permalink(90);    
    }
    else {
        if (get_the_ID(90)) {
            echo get_permalink();
        }
        else {
            if (strpos($permalink, 'eng') == false) {
                echo removeB($permalink);
                echo "ciao";
                function removeB($a) {
                    $a = substr($a, 0, -1);
                    $a = $a."-eng";
                    return $a;
                }
            }
            if (strpos($permalink, 'eng') == true) {
                echo get_permalink();
            }
        }
    }
    ?> 
    class="flags flag-icon"><img class="flag-icon" src="<?php echo get_bloginfo('stylesheet_directory') ?>/images/united-kingdom.png" alt=""></a>
</div>

Сначала я установил условную логику для домашней страницы.Пост 90 - это просто файл английской домашней страницы (index-eng.php).Затем я установил логику для других страниц.Как вы можете видеть, я пытаюсь изменить постоянную ссылку, удаляя или добавляя последний -eng, но это не работает.Я уверен, что есть лучший подход, чем это безумие, но пока я не нашел его.У вас есть идеи?

Заранее благодарим за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...