2017-01-09 7 views
1

Мы пытаемся встроить сообщения Facebook в Wordpress, используя URL-адрес сообщения. Это прекрасно работает, за исключением того, что язык неверен. Вместо языка, появляющегося на английском языке, он появляется на арабском языке.Wordpress загрузка неправильного языка для Facebook SDK

Я считаю, что я проследил эту проблему до SDK для Facebook, который загружается Wordpress.

Это код, который Facebook говорит, чтобы добавить на страницу

<div id="fb-root"></div> 
<script>(function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&amp;version=v2.5"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 

Это то, что Wordpress загружается

<div id="fb-root"></div> 
<p><script>(function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s) [0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/ar_AR/sdk.js#xfbml=1&version=v2.3"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 

Я считаю, что этот вопрос является «ar_AR» в связи с использованием Facebook url вместо "en_US". Однако я не могу понять, как и где это контролируется.

Я проверил выбор языка в Wordpress и выбран английский язык. Я попробовал новую установку Wordpress 4.7 без плагинов, и проблема все еще сохраняется.

Вот пример сообщения, которое появляется на арабском языке на веб-сайте. Это также то, что мы вставляем в Wordpress для создания встроенного сообщения.

https://www.facebook.com/farahdhukai/videos/1217650958285047/

Вот где он появляется на арабском вместо английского

http://mvs.dev.clickharder.net/facebook-sdk-test/

Верхняя встраивать использует Wordpress функции встраивания, просто добавив URL видео. Нижняя вставка использует метод внедрения iframe Facebook для целей тестирования.

Я не понял, как отключить SDK для Facebook в Wordpress, поэтому я могу вставить его самостоятельно или как его изменить с ar_AR на en_US.

Я искал каждую ссылку на «Facebook» в новой установке Wordpress и пришел с пустыми руками. Я не могу найти ссылки на «ar_AR» в Wordpress, которые относятся к этой проблеме.

Мы стараемся избегать использования метода iframe для встраивания сообщений. Это не идеально для нашей ситуации, так что это не решение для нас.

Любая помощь очень ценится.

+0

определить, какой плагин вставляет JS SDK и изменить его в том, что плагин – luschn

+0

_ «Это также то, что мы вставляем в Wordpress, чтобы создать внедренный пост» _ - что, только URL - не SHORTCODE, больше ничего ? // Вероятно, это использование OEmbed API, и с этим кодом для внедрения SDK является частью результата API. Предположительно, он пытается загрузить SDK на языке фактического сообщения, если не указано иначе. Перейдите и проверьте, какие настройки доступны в OEmbed на панели инструментов WP. – CBroe

+0

@luschn Нет плагина, который вставляет js sdk, установленный на веб-сайте. Это происходит с чистой установкой Wordpress 4.7 и без плагинов. – clickharder

ответ

0

@CBroe предоставил такое же решение, с которым я пошел. Я добавил следующий код, чтобы заменить ссылку.

add_filter('the_content', 'facebook_sdk_replace'); 
function facebook_sdk_replace($content) { 
    if (is_single()) { 
     $content = str_replace("/ar_AR/", "/en_US/", $content); 
    } 
    return $content; 
}