| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- /*
- Bones Plugins & Extra Functionality
- Author: Eddie Machado
- URL: http://themble.com/bones/
- This file contains extra features not 100% ready to be included
- in the core. Feel free to edit anything here or even help us fix
- and optimize the code!
- IF YOU WANT TO SUBMIT A FIX OR CORRECTION, JOIN US ON GITHUB:
- https://github.com/eddiemachado/bones/issues
- IF YOU WANT TO DISABLE THIS FILE, REMOVE IT'S CALL IN THE FUNCTIONS.PHP FILE
- */
- /*
- Social Integration
- This is a collection of snippets I edited or reused from
- social plugins. No need to use a plugin when you can
- replicate it in only a few lines I say, so here we go.
- For more info, or to add more open graph stuff, check
- out: http://yoast.com/facebook-open-graph-protocol/
- */
- // get the image for the google + and facebook integration
- function bones_get_socialimage() {
- global $post, $posts;
- $src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), '', '' );
- if ( has_post_thumbnail($post->ID) ) {
- $socialimg = $src[0];
- } else {
- $socialimg = '';
- $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
- if (array_key_exists(1, $matches))
- if (array_key_exists(0, $matches[1]))
- $socialimg = $matches [1] [0];
- }
- if(empty($socialimg))
- $socialimg = get_template_directory_uri() . '/library/images/nothumb.gif';
- return $socialimg;
- }
- // facebook share correct image fix (thanks to yoast)
- function bones_facebook_connect() {
- echo "\n" . '<!-- facebook open graph stuff -->' . "\n";
- echo '<!-- place your facebook app id below -->';
- echo '<meta property="fb:app_id" content="1234567890"/>' . "\n";
- global $post;
- echo '<meta property="og:site_name" content="'. get_bloginfo("name") .'"/>' . "\n";
- echo '<meta property="og:url" content="'. get_permalink() .'"/>' . "\n";
- echo '<meta property="og:title" content="'.get_the_title().'" />' . "\n";
- if (is_singular()) {
- echo '<meta property="og:type" content="article"/>' . "\n";
- echo '<meta property="og:description" content="' .strip_tags( get_the_excerpt() ).'" />' . "\n";
- }
- echo '<meta property="og:image" content="'. bones_get_socialimage() .'"/>' . "\n";
- echo '<!-- end facebook open graph -->' . "\n";
- }
- // google +1 meta info
- function bones_google_header() {
- if (is_singular()) {
- echo '<!-- google +1 tags -->' . "\n";
- global $post;
- echo '<meta itemprop="name" content="'.get_the_title().'">' . "\n";
- echo '<meta itemprop="description" content="' .strip_tags( get_the_excerpt() ).'">' . "\n";
- echo '<meta itemprop="image" content="'. bones_get_socialimage() .'">' . "\n";
- echo '<!-- end google +1 tags -->' . "\n";
- }
- }
-
- // add this in the header
- add_action('wp_head', 'bones_facebook_connect');
- add_action('wp_head', 'bones_google_header');
- ?>
|