|
<?php |
|
/* |
|
Plugin Name: Orbisius Facebook Share Image Preview Fix |
|
Plugin URI: http://orbisius.com |
|
Description: Makes sure that post's featured image is 1200x630 so facebook can use it as preview. |
|
Version: 1.0.0 |
|
Author: Svetoslav Marinov (Slavi) |
|
Author URI: http://club.orbisius.com/products/ |
|
*/ |
|
|
|
add_action( 'wp', 'orbisius_og_tags_init', 100 ); |
|
|
|
/** |
|
*/ |
|
function orbisius_og_tags_init() { |
|
add_action( 'wp_head', 'orbisius_og_output_tags' ); |
|
} |
|
|
|
/** |
|
* Outputs a header instruction |
|
* @see http://davidwalsh.name/demo/facebook-metas.php |
|
* @see http://stackoverflow.com/questions/11616697/how-to-use-og-meta-tag-for-facebook-share |
|
*/ |
|
function orbisius_og_output_tags() { |
|
global $post; |
|
$id = get_the_ID(); |
|
|
|
/*if ( ! defined( 'orbisius_APP_POST_TYPE' ) |
|
|| 'post' != get_post_type( $id ) ) { |
|
return; |
|
}*/ |
|
|
|
/* |
|
[0] => url |
|
[1] => width |
|
[2] => height |
|
[3] => boolean: true if $url is a resized image, false if it is the original |
|
or if no image is available. |
|
*/ |
|
// Make facebook happy. |
|
// @see http://webgilde.com/en/wrong-image-facebook/ |
|
$img_src_rec = wp_get_attachment_image_src( |
|
get_post_thumbnail_id( $id, array( 1200, 630 ) ) |
|
); |
|
|
|
if ( empty( $img_src_rec ) ) { |
|
return ; |
|
} |
|
|
|
$img_src = $img_src_rec[0]; |
|
|
|
/* |
|
<!-- for Facebook --> |
|
<meta property="og:title" content="" /> |
|
<meta property="og:type" content="article" /> |
|
<meta property="og:image" content="<?php echo $img_src; ?>" /> |
|
<meta property="og:url" content="" /> |
|
<meta property="og:description" content="" /> |
|
|
|
<!-- for Twitter --> |
|
<meta name="twitter:card" content="summary" /> |
|
<meta name="twitter:title" content="" /> |
|
<meta name="twitter:description" content="" /> |
|
<meta name="twitter:image" content="<?php echo $img_src; ?>" /> |
|
*/ |
|
?> |
|
<!-- Make Facebook happy: 1200x630--> |
|
<meta property="og:image" content="<?php echo $img_src; ?>" /> |
|
<!-- /Make Facebook happy: 1200x630--> |
|
<?php |
|
} |