Как поместить кнопку социальных сетей в пост WordPress под выдержкой поста?

Скажите, пожалуйста, есть ли какой-нибудь плагин для размещения кнопки «Поделиться в социальных сетях» под выдержкой из сообщения WordPress? Пожалуйста, посмотрите на это изображение, чтобы понять, что я хочу. Спасибо

введите здесь описание изображения


person user3012841    schedule 06.04.2014    source источник
comment
Вы пробовали что-нибудь исследовать или кодировать, чтобы попытаться достичь этого?   -  person Daniel E.    schedule 07.04.2014


Ответы (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(); } ?>

Это может отличаться в зависимости от того, как вы сделали отрывок.

person Howli    schedule 06.04.2014

Вот еще один метод с использованием дженериков

Сначала загрузите и установите 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&amp;title=%2$s&amp;summary=%3$s&amp;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&amp;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&amp;title=%2$s',
            'text' => esc_attr(__('StumbleUpon.', 'pietergoosen' )),
            'icon' => '<span class="genericon genericon-stumbleupon"></span>'
        ),
        'digg' => array (
            'url'  => 'http://digg.com/submit?phase=2&amp;url=%1$s&amp;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&amp;fs=1&amp;to&amp;su=%1$s&amp;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() для целей этого ответа, иначе вы получите фатальную ошибку.

person Pieter Goosen    schedule 07.04.2014