Скажите, пожалуйста, есть ли какой-нибудь плагин для размещения кнопки «Поделиться в социальных сетях» под выдержкой из сообщения WordPress? Пожалуйста, посмотрите на это изображение, чтобы понять, что я хочу. Спасибо
Как поместить кнопку социальных сетей в пост WordPress под выдержкой поста?
Ответы (2)
Для этого вы можете использовать плагин WordPress под названием Share Buttons. После установки, активации и выбора значков, которые вы хотите добавить. Добавьте следующее на страницу(ы) с выдержкой (сразу после вызова выдержки).
<?php if ( function_exists( 'ADDTOANY_SHARE_SAVE_KIT' ) ) { ADDTOANY_SHARE_SAVE_KIT(); } ?>
Код будет примерно таким:
<?php the_excerpt(); ?>
<?php if ( function_exists( 'ADDTOANY_SHARE_SAVE_KIT' ) ) { ADDTOANY_SHARE_SAVE_KIT(); } ?>
Это может отличаться в зависимости от того, как вы сделали отрывок.
Вот еще один метод с использованием дженериков
Сначала загрузите и установите genericon pack в свою тему. Поставить в очередь таблицу стилей genericon
function enqueue_genericon_style() {
wp_enqueue_style( 'genericons', get_template_directory_uri() . '/genericons/genericons.css', array(), '3.0.2' );
}
add_action( 'wp_enqueue_scripts', 'enqueue_genericon_style' );
Добавьте следующее в ваш functions.php. Эти функции выполняют всю тяжелую работу, добавляя URL-адрес общего ресурса и дженерики.
function pietergoosen_social_share_buttons() {
$services = array (
'facebook' => array (
'url' => 'https://www.facebook.com/sharer/sharer.php?u=%1$s',
'text' => esc_attr(__('Share on Facebook.', 'pietergoosen' )),
'icon' => '<span class="genericon genericon-facebook"></span>'
),
'twitter' => array (
'url' => 'http://twitter.com/home/?status=%1$s%%20-%%20%2$s',
'text' => esc_attr(__('Tweet this post!', 'pietergoosen' )),
'icon' => '<span class="genericon genericon-twitter"></span>'
),
'googleplus' => array (
'url' => 'https://plus.google.com/share?url=%1$s',
'text' => esc_attr(__('Google+1.', 'pietergoosen' )),
'icon' => '<span class="genericon genericon-googleplus"></span>'
),
'linkedin' => array (
'url' => 'https://www.linkedin.com/shareArticle?mini=true&url=%1$s&title=%2$s&summary=%3$s&source=%4$s',
'text' => esc_attr(__('linkedin.', 'pietergoosen' )),
'icon' => '<span class="genericon genericon-linkedin"></span>'
),
'reddit' => array (
'url' => 'http://reddit.com/submit?url=%1$s&title=%2$s',
'text' => esc_attr(__('Reddit.', 'pietergoosen' )),
'icon' => '<span class="genericon genericon-reddit"></span>'
),
'stumbleupon' => array (
'url' => 'http://www.stumbleupon.com/submit?url=%1$s&title=%2$s',
'text' => esc_attr(__('StumbleUpon.', 'pietergoosen' )),
'icon' => '<span class="genericon genericon-stumbleupon"></span>'
),
'digg' => array (
'url' => 'http://digg.com/submit?phase=2&url=%1$s&title=%2$s',
'text' => esc_attr(__('Digg this post!', 'pietergoosen' )),
'icon' => '<span class="genericon genericon-digg"></span>'
),
'gmail' => array (
'url' => 'https://mail.google.com/mail/?view=cm&fs=1&to&su=%1$s&t=%2$s',
'text' => esc_attr(__('Share with Gmail', 'pietergoosen' )),
'icon' => '<span class="genericon genericon-mail"></span>'
)
);
$title = the_title_attribute( array ( 'echo' => FALSE ) );
$url = urlencode( get_permalink() );
$summary = the_excerpt();
$source = '';
print '<h4>' . __( 'Share this post with others', 'pietergoosen' ) . '</h4>';
echo '<div class="socialgenericons service">';
foreach ( $services as $name => $service )
{
$href = sprintf( $service['url'], $url, urlencode( $title ), urlencode( $summary ), urlencode( $source ) );
$genericon = $service['icon'];
printf(
'<a href="%1$s" title="%2$s" alt="%2$s">%3$s</a>',
$href,
$service['text'],
$genericon
);
}
echo '</div>';
}
Теперь добавьте <?php pietergoosen_social_share_buttons(); ?>
в ваш content.php, где вам нужно отображать кнопки.
Чтобы открывать всплывающее окно при нажатии на ссылку, добавьте следующее в свою функцию enqueue_genericon_style()
.
wp_enqueue_script( 'pietergoosen-socialshare', get_template_directory_uri() . '/js/socialshare.popup.js', array( 'jquery' ), '' , true );
Теперь создайте папку js в вашей теме, если у вас ее нет. Создайте файл с именем socialshare.popup.js
в папке js. Теперь добавьте в этот файл следующее
jQuery(document).ready(function($) {
jQuery('.socialgenericons.service a').live('click', function(){
newwindow=window.open($(this).attr('href'),'','height=450,width=700');
if (window.focus) {newwindow.focus()}
return false;
});
});
Это должно сработать. Ваши кнопки будут выглядеть так. Вам просто нужно соответствующим образом стилизовать генерики
ИЗМЕНИТЬ
Я использую пользовательский отрывок, поэтому я изменил его на the_excerpt()
для целей этого ответа, иначе вы получите фатальную ошибку.