我发现这篇文章,并试图执行上述步骤。浪费了几个小时之后,我已经看到@SMT上面的评论...
我绝对不会再在v2.10中工作了。
我的顾客已经在等待这个功能,所以我不得不寻找解决方法。 请注意:我为WordPress编写了此解决方案,因此您可能需要更改几行以使其适用于您的网站。
让我们先从我的HTML代码 包括图像和按钮的包装:
<div class="my-image-container">
<img src="http://example.com/image.jpg">
<a href="#" class="fb-share-image">Share</a>');
</div>
在我JS代码我添加了图像的URL作为参数的URL我想分享:
window.fbAsyncInit = function() {
FB.init({
appId : 'YOUR APP ID',
status : true,
cookie : true,
version : 'v2.10'
});
$('.fb-share-image').click(function(e){
e.preventDefault();
var image = $(this).siblings('img').attr('src');
FB.ui(
{
method: 'share',
href: $(location).attr('href') + '?og_img=' + image,
},
function (response) {
}
);
})
};
(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";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
下一步是处理URL参数。此代码适用于YOAST的WordPress和WordPress SEO,但您可以将其更改为与CMS一起使用。 添加到您的的functions.php:
add_filter('wpseo_opengraph_image',function($img){
if(array_key_exists('og_img', $_GET))
return $_GET['og_img'];
return $img;
});
add_filter('wpseo_opengraph_url',function($url){
if(array_key_exists('og_img', $_GET))
return $url . '?og_img=' . $_GET['og_img'];
return $url;
});
总的想法是创建每个只能改变OG参数,使Facebook拥有单独刮他们每个人的图像的个别URL。 为了避免任何搜索引擎优化问题,您应该在标题中指定原始网址的规范标记。这是complete article。
高速缓存的调试工具整理出来,谢谢:) –