Qtranslate plus поддержка Wordpress SEO от Yoast

Я использую Qtranlate plus (https://wordpress.org/plugins/qtranslate-xp/) и я также использую поисковую оптимизацию Wordpress от Yoast, но поля мета-заголовка и описания не могут быть переведены. У кого-нибудь есть исправление для этого или есть плагин, который устраняет проблему?


person user2986959    schedule 28.09.2014    source источник


Ответы (1)


Эта проблема существует, поскольку qTranslate не был плюсом. Есть исправление от Yoast: http://kb.yoast.com/article/52-wordpress-seo-qtranslate


function qtranslate_filter( $text ) {
  return __( $text );
}

add_filter( 'wpseo_title', 'qtranslate_filter', 10, 1 );
add_filter( 'wpseo_metadesc', 'qtranslate_filter', 10, 1 );
add_filter( 'wpseo_metakey', 'qtranslate_filter', 10, 1 );
add_filter( 'wpseo_opengraph_title', 'qtranslate_filter', 10, 1 );

Для меня этого было недостаточно ... Я отследил $ text и увидел, что синтаксис языка нарушен. Это не было

<!--:de-->, it was <!-:de->.

Поэтому я добавил замену прямо в qtranslate_filter ($ ..).

function qtranslate_filter( $text ) {
    $fixedOpenTag = str_replace("<!-:", "<!--:", $text);
    $fixedCloseTag = str_replace("->", "-->", $fixedOpenTag);
    return __($fixedCloseTag);
}

Это работает для вывода во внешнем интерфейсе. Я посмотрел исходный код yoast, но пока не исправил его ...

person Julian Kimmig    schedule 31.10.2014
comment
Протестировано для обновления functions.php кодом, но мое поле заголовка просто выбрасывается ‹! - de -› и т. Д. После сохранения страницы. Тогда это всего лишь три названия без ‹! - en -› @ Julian-Kimmig - person user2986959; 31.10.2014
comment
Вы редактируете свои заголовки в режиме реального ввода заголовка для каждого языка или в поле ввода заголовка в мета-разделе yoast? Какие версии WP и плагинов используются? Я использую WP 4.0, qTranslate Plus версии 2.7.2, Yoast версии 1.6.3. А в Yoast Options ›Titles & Metas не включена принудительная перезапись заголовков. @ user2986959 - person Julian Kimmig; 01.11.2014
comment
@ user4066959 Я установил исправление Yoast SEO для qTranslate, которое позволяет мне писать [: en] какой-то заголовок в поле заголовка SEO, но он не работает в поле описания. Моя - MQTranslate версии 2.7.1.1. Не тот же плагин? Приведенный выше сценарий не работал у меня. Еще нужно перевести meta desc. - person user2986959; 03.11.2014
comment
Ты только что спас мне день! Ура, чувак! - person laszlo-horvath; 06.12.2014