在WordPress中翻译页面之间建立动态链接的正确方法

时间:2019-02-21 11:12:54

标签: php wordpress if-statement


我有一个使用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,但是它不起作用。 我敢肯定有比这种疯狂更好的方法了,但是到目前为止我还没有发现。你有什么想法吗?

预先感谢所有帮助。

0 个答案:

没有答案