Добавляем кнопки соц. сетей в WordPress.
Сегодня многие в интернете пользуются соц сетями, поэтому они важны и могут принести немало посетителей.
В этой статье собраны коды для вставки кнопок разных социальных сетей в WordPress.
Автоматическое добавление разметки Open Graph
Open Graph — протокол, созданный facebook, который упрощает распознавание контента социальными сетями.
Для автоматического добавления данных Open Graph в ваши посты, скопируйте следующий код в файл functions.php.
function wptuts_opengraph_for_posts() { if ( is_singular() ) { global $post; setup_postdata( $post ); $output = '<meta property="og:type" content="article" />' . "\n"; $output .= '<meta property="og:title" content="' . esc_attr( get_the_title() ) . '" />' . "\n"; $output .= '<meta property="og:url" content="' . get_permalink() . '" />' . "\n"; $output .= '<meta property="og:description" content="' . esc_attr( get_the_excerpt() ) . '" />' . "\n"; if ( has_post_thumbnail() ) { $imgsrc = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium' ); $output .= '<meta property="og:image" content="' . $imgsrc[0] . '" />' . "\n"; } echo $output; } } add_action( 'wp_head', 'wptuts_opengraph_for_posts' );
После, откройте header.php
и замените тег <html>
этим:
<html <?php language_attributes(); ?> prefix="og: http://ogp.me/ns#">
Показ последних твитов на блоге без плагина
Несмотря на то, что существует много плагинов для отображения твитов, вам не обязательно устанавливать плагин для решения этой задачи.
Просто вставьте следующий код в файлы своей темы, туда где хотите их вывести. Не забудьте исправить имя аккаунта в 3 строке. Максимальное количество постов определяется в 4 строке.
<?php include_once(ABSPATH . WPINC . '/feed.php'); $rss = fetch_feed('https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=username'); $maxitems = $rss->get_item_quantity(3); $rss_items = $rss->get_items(0, $maxitems); ?> <ul> <?php if ($maxitems == 0) echo '<li>No items.</li>'; else // Loop through each feed item and display each item as a hyperlink. foreach ( $rss_items as $item ) : ?> <li> <a href='<?php echo $item->get_permalink(); ?>'> <?php echo $item->get_title(); ?> </a> </li> <?php endforeach; ?> </ul>
Добавление кнопки Google+
Google+ — социальная сеть от Google и с каждым днем она набирает популярность. Для того, чтобы добавить кнопку google+ в ваши посты, откройте файл functions.php
и вставьте в него следующий код:
add_filter('the_content', 'wpr_google_plusone'); function wpr_google_plusone($content) { $content = $content.'<div><g:plusone size="tall" href="'.get_permalink().'"></g:plusone></div>'; return $content; } add_action ('wp_enqueue_scripts','wpr_google_plusone_script'); function wpr_google_plusone_script() { wp_enqueue_script('google-plusone', 'https://apis.google.com/js/plusone.js', array(), null); }
Автоматическое добавление кнопок Twitter и Facebook в записи
Facebook и Twitter одни из самых популярных социальных сетей, они могут принести много трафика на ваш сайт. Чтобы посетители вашего сайта могли легко поделиться вашими записями в Facebook или Twitter, скопируйте этот код в файл functions.php.
Код будет показывать кнопки в конце поста.
function share_this($content){ if(!is_feed() && !is_home()) { $content .= '<div> <a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal">Tweet</a> <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> <div> <iframe src="http://www.facebook.com/plugins/like.php?href='. urlencode(get_permalink($post->ID)) .'&layout=button_count&show_faces=false&width=200&action=like&colorscheme=light&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:200px; height:21px;" allowTransparency="true"></iframe> </div> </div>'; } return $content; } add_action('the_content', 'share_this');
Показ лучших твитов (favorite tweets) в WordPress
Вставьте этот код туда, где хотите показывать твиты. Не забудьте поправить ссылку в 3 строке.
<?php include_once(ABSPATH . WPINC . '/feed.php'); $rss = fetch_feed('http://twitter.com/favorites/999999.rss'); $maxitems = $rss->get_item_quantity(3); $rss_items = $rss->get_items(0, $maxitems); ?> <ul> <?php if ($maxitems == 0) echo '<li>No items.</li>'; else // Loop through each feed item and display each item as a hyperlink. foreach ( $rss_items as $item ) : ?> <li> <a href='<?php echo $item->get_permalink(); ?>'> <?php echo $item->get_title(); ?> </a> </li> <?php endforeach; ?> </ul>
Количество твитов записи
Если вы хотите показать сколько раз ваш пост твитнули, вставьте следующую функцию в файл functions.php
:
function readTwitterShares($url) { $s = file_get_contents("http://urls.api.twitter.com/1/urls/count.json". "?callback=?&url=".urlencode($url)); preg_match("#(\"count\"):([0-9]*)#",$s,$ar); return isset($ar[2]) ? $ar[2] : 0; }
Затем используйте этот код в цикле для показа количества твитов поста:
echo readTwitterShares(get_permalink());
Добавление контактов Twitter и Facebook в профиль
WordPress позволяет указывать контакты в профиле, например Jabber, AIM и Yahoo Messenger, но нет возможности указать аккаунты Twitter и Facebook. Данный код позволяет убрать неиспользуемые поля и добавить новые.
Добавьте этот код в файл functions.php.
function new_contactmethods( $contactmethods ) { $contactmethods['twitter'] = 'Twitter'; // Add Twitter $contactmethods['facebook'] = 'Facebook'; // Add Facebook unset($contactmethods['yim']); // Remove YIM unset($contactmethods['aim']); // Remove AIM unset($contactmethods['jabber']); // Remove Jabber return $contactmethods; } add_filter('user_contactmethods','new_contactmethods',10,1);
А как их поставить горизонтально? 🙂
Здравствуйте!
Для горизонтального расположения используйте подобную разметку:
Во внутренние div’ы вставьте нужный код.