【问题标题】:Wordpress - Qtranslate to show only available languagesWordpress - Qtranslate 仅显示可用语言
【发布时间】:2014-04-16 06:16:43
【问题描述】:

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

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

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

【问题讨论】:

    标签: wordpress translation qtranslate


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      以上代码需要更改才能工作, 改变这一行:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-30
        • 1970-01-01
        • 1970-01-01
        • 2014-05-01
        • 1970-01-01
        相关资源
        最近更新 更多