wordpress snippets last updated   : October 6, 2014
we now have 641 snippets

Facebook open graph snippet to set default image

wordpress snippet

Adding this snippet to the functions.php of your wordpress theme will allow you to specify Facebook Open Graph information on your WordPress posts. Allowing you to specify which image should be displayed when sharing your article on Facebook among other things.

Just set your ADMIN_ID by going to http://graph.facebook.com/yourfacebookusername, and modify the URL of your site's logo. Then you can check that Facebook is getting all the correct information by going to https://developers.facebook.com/tools/debug
snippet :  PHPcopy
function diww_facebook_image() {
		echo '<meta property="fb:admins" content="ADMIN_ID" />';
		echo '<meta property="og:title" content="' . get_the_title() . '" />';
		echo '<meta property="og:site_name" content="' . get_bloginfo('name') . '" />';
	global $post;
	if ( is_singular() ) { // only if a single post or page
		echo '<meta property="og:type" content="article" />';
		echo '<meta property="og:url" content="' . get_permalink() . '" />';
	if (has_post_thumbnail( $post->ID )) { // use featured image if there is one
		$feat_image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'large' );
		echo '<meta property="og:image" content="' . esc_attr( $feat_image[0] ) . '" />';
	 }else{ // use site logo in case no featured image
		echo '<meta property="og:image" content="http://yourdomain.com/logo.png" />';
	 }
	}
	if ( is_home() ) { // for homepage only
		echo '<meta property="og:type" content="website" />';
		echo '<meta property="og:url" content="' . get_bloginfo('url') . '" />';
		echo '<meta property="og:image" content="http://yourdomain.com/logo.png" />';
	}
}
add_action( 'wp_head', 'diww_facebook_image' );

Did you like this post? If so please share it with your friends. Thanks!

  • http://blogsnewsreviews.com/ Astro Gremlin

    Dave, there was a brief period when I was sharing my posts and Facebook was running an image from my ads, then telling me it was not allowed! This was occurring even when I had a non-ad image at the top of the post. It worked itself out, but this snippet could come in handy to select the desired image.