2017-01-24 9 views
1

Мне нужны пропущенные языки, которые будут отображаться на странице блога. У меня есть 4 языка (немецкий, чешский, английский, французский), поэтому, когда у меня есть английский пост с немецким переводом, мне нужно показать, что на чешском и французском языках нет перевода, и что английский и немецкий языки в порядке. Я обнаружил, что в админ у меня есть столбец «Языки» с аналогичной информацией на странице Все посты, и я нашел код для нееqTranslate показать доступные языки для сообщений на странице

function qtranxf_languageColumn($column) { 
global $q_config, $post; 
if ($column == 'language') { 
    $missing_languages = null; 
    $available_languages = qtranxf_getAvailableLanguages($post->post_content); 
    if($available_languages === FALSE){ 
     echo _x('Languages are not set', 'Appears in the column "Languages" on post listing pages, when content has no language tags yet.', 'qtranslate'); 
    }else{ 
     $missing_languages = array_diff($q_config['enabled_languages'], $available_languages); 
     $available_languages_name = array(); 
     $language_names = null; 
     foreach($available_languages as $language) { 
      if(isset($q_config['language_name'][$language])){ 
       $language_name = $q_config['language_name'][$language]; 
      }else{ 
       if(!$language_names) $language_names = qtranxf_default_language_name(); 
       $language_name = isset($language_names[$language]) ? $language_names[$language] : __('Unknown Language', 'qtranslate'); 
       $language_name .= ' ('.__('Not enabled', 'qtranslate').')'; 
      } 
      $available_languages_name[] = $language_name; 
     } 
     $available_languages_names = join(', ', $available_languages_name); 
     echo apply_filters('qtranslate_available_languages_names',$available_languages_names); 
    } 
    do_action('qtranslate_languageColumn', $available_languages, $missing_languages); 
} 
return $column; 

}

, но я не знаю, как это исправить по моим потребностям , пожалуйста, помогите мне с этим вопросом!

ответ

1

вы должны сделать что-то вроде этого: (в вашей теме single.php или начального content.php)

// get the post id 
$post = get_post(); 
$post_id = $post -> ID; 

// check if en is available and the current language not english 
if(!qtranxf_isAvailableIn($post_id, 'en') && qtranxf_getLanguage() != 'en'){ // no En content 
    echo 'no english'; 
} 

// check if the french is available and the current language not french 
if(!qtranxf_isAvailableIn($post_id, 'fr') && qtranxf_getLanguage() != 'fr'){ // no FR content 
    echo 'no french'; 
} 

// check if the czech is available and the current language not czech 
if(!qtranxf_isAvailableIn($post_id, 'cz') && qtranxf_getLanguage() != 'cz'){ // no cz content 
    echo 'no czech'; 
} 

// check if the german is available and the current language not german 
if(!qtranxf_isAvailableIn($post_id, 'de') && qtranxf_getLanguage() != 'de'){ // no Ger content 
    echo 'no german'; 
} 

Не Испытано Код
, которые могут помочь или привести вас найти рабочее решение ,

+0

спасибо! –

+0

У вас есть skype или facebook для чата? У меня для вас небольшие задачи. Платит за это –