我想显示当前页面被翻译成的其他语言 .
例如,如果当前页面是英语,并且翻译以法语或其他语言提供,则脚本应输出法语翻译页面的链接 . 如果没有可用的翻译,那么它不应该输出任何内容 .
如何做到这一点 . 现在我使用函数 <?php if (function_exists('qts_language_menu')) qts_language_menu('both'); ?> 返回所有语言,无论页面是否有翻译或否 .
<?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>';
2 回答
我写了这段代码来解决我的问题 . 它不漂亮,但它的工作原理:
以上代码需要更改才能工作,更改此行:
像这样改变它: