Как автоматически добавлять кнопки отправки в Twitter и Facebook без плагинов

Для того, чтобы увеличить социальную активность вокруг своих материалов, можно создать специальную панель со ссылками, добавляющими ссылку на пост в социальные сети и сервисы онлайновых закладок. Пример такой панели я привел в посте Как сделать панель с социальными кнопками. Однако многим такое обилие кнопок не нужно, их вполне устроить две самые популярные — отправка ссылки в Twitter, и отправка ссылки с описанием и картинкой в Facebook. Можно сделать так, чтобы эти две кнопки автоматически вставлялись в конец содержимого каждого поста.

Для этого откройте файл functions.php, и добавьте в него следующий код:

function share_this($content){
    if(!is_feed() && !is_home()) {
        $content .= '<div class="share-this">
                    <a href="http://twitter.com/share" class="twitter-share-button">Tweet</a>
                    
                    <div class="facebook-share-button">
                        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">
                    </div>
                </div>';
    }
    return $content;
}
add_action('the_content', 'share_this');

Обратите внимание на то, что эти две кнопки не будут видны на главной странице и в RSS — за это отвечает условие

if(!is_feed() && !is_home())

Если вы хотите скрыть эти кнопки в архивах и на странице результатов поиска, то условие будет выглядеть так:

if(!is_feed() && !is_home() && !is_archive() && !is_search())

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий

  1. Сергей

    Спасибо, пригодилось!!

    Ответить
  2. lex111

    Спасибо! А как расположить кнопки вправо? Только через CCS?

    Ответить
    1. Да. Для классов share-this и facebook-share-button в style.css задать расположение. Например:

      .share-this {float:right}
      Ответить
  3. Дмитрий

    Подскажите пожалуйста что сделать: при вставке любого кода в functions на сайте появляется только текст

    Ответить
  4. antonator

    Можно ли заменить кнопки текстом?

    Ответить