Wordpress-Qtranslate只显示可用的语言



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

例如,如果当前页面是英文的,并且可以用法语或其他语言进行翻译,那么脚本应该输出到法语翻译页面的链接。如果没有可用的翻译,那么它不应该输出任何内容。

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

我写这段代码是为了解决我的问题。它不漂亮,但它工作:

<?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>';
            }
        }
    }
}
?> 

以上代码需要更改才能工作,更改此行:

echo '<a href="' . $qtranslate_slug->get_current_url($lang_code) . '">' . $lang_name . '</a>';

更改如下:

echo '<a href="' . qtrans_convertURL(get_permalink(), $lang_code) . '">' . $lang_name .   '</a>';

相关内容

  • 没有找到相关文章

最新更新