Добавляем кнопки соц. сетей в 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’ы вставьте нужный код.