2017-01-09 70 views
1

我們正在嘗試使用帖子的網址將Facebook帖子嵌入到WordPress中。這工作正常,除了語言是錯誤的。而不是用英語出現的語言,它出現在阿拉伯語中。Wordpress加載Facebook SDK的錯誤語言

我相信我已經查明問題由WordPress的加載了Facebook SDK。

這是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/

出現頂部嵌入的內容僅僅通過增加視頻的URL使用WordPress的嵌入功能。底部嵌入使用Facebook iframe嵌入方法進行測試。

我還沒有想出如何可以禁用內WordPress的Facebook的SDK,所以我可以將它自己或如何從ar_AR更改爲en_US。

我已經通過一個新的WordPress的每一個提到的「臉譜」搜索安裝並紛紛拿出兩手空空。我無法在Wordpress中找到與此問題相關的「ar_AR」引用。

我們正試圖避免使用嵌入職位的iframe的方法。這對我們的情況並不理想,所以這不是我們的解決方案。

任何幫助,非常感謝。

+0

識別插件插入JS SDK,並改變它在該插件 – luschn

+0

_「這也是我們正在插入到WordPress創建嵌入後」 _ - 什麼,只是網址 - 沒有短代碼,閒來無事? //這可能是使用OEmbed API的,因此嵌入SDK的代碼是API結果的一部分。如果沒有其他指示,推測它會嘗試以實際文章的語言加載SDK。去檢查你的WP儀表板中有關OEmbed的設置。 – 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; 
}