我使用的主题具有嵌入Facebook视频的功能。问题是,每当我使用它时,它都会将SDK加载到uk_UA
无论出于何种原因(乌克兰)。
与我的网站或Facebook相关的任何内容都没有使用这种语言。联系主题开发人员后,我被告知这不是他们的错,可能与服务器配置有关。
我尝试了一个我在这里找到的黑客解决方案,添加了函数。php以下脚本
add_filter( \'the_content\', \'facebook_sdk_replace\' );
function facebook_sdk_replace( $content ) { if ( is_single() ) { $content = str_replace("/uk_UA/", "/en_US/", $content); } return $content; }
由于没有效果,开发人员建议我在\\u header\\u php中添加以下内容
<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&version=v2.6";
fjs.parentNode.insertBefore(js, fjs);
}(document, \'script\', \'facebook-jssdk\'));</script>
我面临的问题是,这样做会导致以下错误:
无法修改标题信息-标题已由发送
因此,我返回了我的标题。php。有没有办法在不更改标题的情况下解决此问题?
稍后编辑:我找到的唯一代码片段如下:
/* $buffy = \'
<div class="wpb_video_wrapper td-facebook-video">
<iframe src="\' . td_global::$http_or_https . \'://www.facebook.com/plugins/video.php?href=\' . urlencode($videoUrl) . \'&show_text=0" width="\' . $width . \'" height="\' . $height . \'" scrolling="no" frameborder="0" allowTransparency="true" allowFullScreen="true" ></iframe>
</div>
\';
*/
/**
* cache & oembed implementation
*/
$cache_key = self::get_facebook_id($videoUrl);
$group = \'td_facebook_video\';
if (td_remote_cache::is_expired($group, $cache_key) === true) {
// cache is expired - do a request
$facebook_api_json = td_remote_http::get_page(\'https://www.facebook.com/plugins/video/oembed.json/?url=\' . urlencode($videoUrl) , __CLASS__);
if ($facebook_api_json !== false) {
$facebook_api = @json_decode($facebook_api_json);
//json data decode
if ($facebook_api === null and json_last_error() !== JSON_ERROR_NONE) {
td_log::log(__FILE__, __FUNCTION__, \'json decode failed for facebook video embed api\', $videoUrl);
}
if (is_object($facebook_api) and !empty($facebook_api->html)) {
//add the html to the buffer
$buffy = \'<div class="wpb_video_wrapper">\' . $facebook_api->html . \'</div>\';
//set the cache
td_remote_cache::set($group, $cache_key, $facebook_api->html, self::$caching_time);
}
} else {
td_log::log(__FILE__, __FUNCTION__, \'facebook api html data cannot be retrieved/json request failed\', $videoUrl);
}
} else {
// cache is valid
$api_html_embed_data = td_remote_cache::get($group, $cache_key);
$buffy = \'<div class="wpb_video_wrapper">\' . $api_html_embed_data . \'</div>\';
}
break;