当我在编辑项目中增加新的作家(大多数人以前从未使用过特色图像)时,我正在尝试建立一种更简化的方式来与FB分享内容时处理图片。过去,我曾使用过多个插件,但总是以一种或另一种方式产生不令人满意的结果。现在,我终于决定自己编写整个代码。
我在网上搜索了有关信息,并找到了一些不错的文章来介绍如何在主题中定义默认的“打开图”属性。 wp-beginner中这段代码所包含的代码可能是一个可靠的开始,尽管需要对其进行编辑以满足我的需要。
//Adding the Open Graph in the Language Attributes
function add_opengraph_doctype( $output ) {
return $output . ' xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml"';
}
add_filter('language_attributes', 'add_opengraph_doctype');
//Lets add Open Graph Meta Info
function insert_fb_in_head() {
global $post;
if ( !is_singular()) //if it is not a post or a page
return;
echo '<meta property="fb:admins" content="YOUR USER ID"/>';
echo '<meta property="og:title" content="' . get_the_title() . '"/>';
echo '<meta property="og:type" content="article"/>';
echo '<meta property="og:url" content="' . get_permalink() . '"/>';
echo '<meta property="og:site_name" content="Your Site NAME Goes HERE"/>';
if(!has_post_thumbnail( $post->ID )) { //the post does not have featured image, use a default image
$default_image="http://example.com/image.jpg"; //replace this with a default image on your server or an image in your media library
echo '<meta property="og:image" content="' . $default_image . '"/>';
}
else{
$thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium' );
echo '<meta property="og:image" content="' . esc_attr( $thumbnail_src[0] ) . '"/>';
}
echo "
";
}
add_action( 'wp_head', 'insert_fb_in_head', 5 );
但是,问题是,我发现的所有内容仅使用单一图像大小进行了讨论。
在这一点上,我有点茫然。裁剪图片不是问题,但是有一种方法可以告诉FB使用两个不同的图像,一个用于矩形横幅(页面中使用的图像,请注意),另一个用于方形缩略图(聊天/评论)。 ),以免在一种情况下或另一种情况下出现严重裁剪的图像?
用外行的话来说:我正在寻找一种通过OG协议将两个独立的图像传递给FB的方法(我可能想稍后创建一个表单,以便作者可以简单地粘贴链接,但这对于未来)。我正在寻找的解决方案还应确保FB知道哪个图像用于缩略图,而哪个图像用于横幅。