Wordpress - Qtranslate 仅显示可用语言 [英] Wordpress - Qtranslate to show only available languages

查看:33
本文介绍了Wordpress - Qtranslate 仅显示可用语言的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想显示当前页面翻译成的其他语言.

I want to display in which other languages current page is translated to.

例如,如果当前页面是英文的,并且有法文或其他语言的翻译版本,那么脚本应该输出指向法文翻译页面的链接.如果没有可用的翻译,则不应输出任何内容.

For example if current page is in english, and translation is available in french or on some other language, then script should output link to translated page in french. If there isn't translation available, then it should not output anything.

如何做到这一点.现在我使用 function <?php if (function_exists('qts_language_menu')) qts_language_menu('both');?> 返回所有语言,无论页面是否有翻译.

How this can be done. Right now i use function <?php if (function_exists('qts_language_menu')) qts_language_menu('both'); ?> which return all languages, no matter if page have translation or no.

推荐答案

我写了这段代码来解决我的问题.它不漂亮,但有效:

I wrote this code to solve my problem. Its not pretty but it works:

<?php
$enabled_languages = get_option('qtranslate_enabled_languages');
$language_names    = get_option('qtranslate_language_names');

foreach ($enabled_languages as $enable_language) {
    foreach ($language_names as $lang_code => $lang_name) {
        if ($enable_language == $lang_code && $enable_language != qtrans_getLanguage()) {
            $query  = "SELECT id FROM $wpdb->posts WHERE ID = $post->ID AND $wpdb->posts.post_content LIKE '%<!--:" . $lang_code . "-->%'";
            $result = $wpdb->get_results($query);

            if ($result) {
                global $qtranslate_slug;
                echo '<a href="' . $qtranslate_slug->get_current_url($lang_code) . '">' . $lang_name . '</a>';
            }
        }
    }
}
?> 

这篇关于Wordpress - Qtranslate 仅显示可用语言的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆