2014-04-16 3 views
0

현재 번역 된 다른 언어로 표시하고 싶습니다.Wordpress - 사용 가능한 언어 만 표시하려면 Qtranslate

예를 들어 현재 페이지가 영어이고 번역본이 프랑스어 또는 다른 언어로 제공되는 경우 스크립트는 번역 된 페이지에 대한 링크를 프랑스어로 출력해야합니다. 사용할 수있는 번역이 없으면 아무 것도 출력하지 않아야합니다.

어떻게 수행 할 수 있습니까? 지금 번역 또는 아니오 페이지가 있는지 여부와 상관없이 모든 언어를 반환하는 함수 <?php if (function_exists('qts_language_menu')) qts_language_menu('both'); ?>을 사용합니다.

답변

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

작동하도록 변경 필요, 변경이 줄을이 같은

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>'; 
관련 문제