Intereting Posts
Запрос пользовательских полей с помощью мобильной темы Carrington Пользовательское поле php Значки темы не видны на http://domain.com, работает на http: // ipaddress Добавление других ссылок на заголовок, чем LinkedIn, Facebook, Youtube и т. Д. Вход в систему / Выход из системы Каковы некоторые хорошие ресурсы для обучения конечных пользователей использованию WordPress? Сеть WordPress (MU): копирование основного сайта на суб-сайт Исключить родительскую категорию при получении сообщений категории по slug удалять ссылки с изображений с помощью functions.php Данные Querystring обрезаются Последний раз, когда пользователь вошел в систему Статические параметры страницы – различайте страницу «Главная страница» и «Страница» Страница продуктов WooCommerce Loop – вывод всех миниатюр продукта WordPress Multisite – можно ли разместить основной сайт в подкаталоге? Переопределить функцию темы buddypress

facebook like, tweet и google + 1 кнопки внутри цикла на домашнем, архивные и поисковые страницы и отсутствующие кнопки facebook как кнопки

Есть ли способ добавить кнопки социальных сетей, особенно facebook like, tweet и google + 1 внутри цикла для каждого сообщения на дому, поиска и архивирования страниц, не получая массу загрузки скриптов?

И на небольшом касании, но не так много, мне кажется, что у вас отсутствует facebook, как кнопки на половине сообщений в цикле. Есть ли ограничение на количество кнопок facebook на странице?

Вы можете проверить мой код здесь – www.pixelsandtea.com

Есть два способа сделать это. Первый заключается в создании функции, которая выводит кнопки, а затем включает ее в свой шаблон. Во-вторых, добавьте фильтр либо в the_content либо в the_excerpt или в зависимости от того, где вы хотите, чтобы кнопки отображались.

В любом случае первое, что вам нужно сделать, это отделить вызовы скрипта от кода, который отображает кнопки, и добавлять его в нижний колонтитул, либо подключаясь к wp_footer либо вручную помещая код в footer.php .

В этом примере используется JavaScript html5 xfbml javascript sdk и метод async Google, а также кнопка совместного доступа Linkedin и твиттер Twitter.

Добавить javascript в нижний колонтитул

 add_action( 'wp_footer', 'prefix_social_media_scripts' ); function prefix_social_media_scripts() { echo '<script src="http://platform.twitter.com/widgets.js"></script>'; echo '<script src="http://platform.linkedin.com/in.js" type="text/javascript"></script>'; echo '<script> (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, \'script\', \'facebook-jssdk\')); (function() { var po = document.createElement(\'script\'); po.type = \'text/javascript\'; po.async = true; po.src = \'https://apis.google.com/js/plusone.js\'; var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(po, s); })(); </script>'; } 

Функция для отображения кнопок.

 function prefix_social_media() { $post_url = get_permalink(); $title = get_the_title (); echo '<ul id="share-buttons">'; echo '<li class="facebook"><div class="fb-like" data-href="' . $post_url . '" data-send="false" data-layout="button_count" data-width="66" data-show-faces="false"></div></li>'; echo '<li class="twitter"><a href="http://twitter.com/share" class="twitter-share-button" data-url="' . $post_url . '" data-count="none">Tweet</a></li>'; echo '<li class="google"><div class="g-plusone" data-size="medium" data-href="'.$post_url.'"></div></li>'; echo '<li class="linkedin"><script type="IN/Share" data-url="'. $post_url .'" data-counter="right"></script></li>'; echo '</ul>'; 

Добавьте фильтр для отображения перед the_excerpt .

 function prefix_social_media_filters( $content ) { $buttons = prefix_social_media(); $content = $buttons . $content; return $content; } add_filter( 'the_excerpt', 'prefix_social_media_filters' ); 

Добавление функции в шаблон.

 if (have_posts()) : while (have_posts()) : the_post(); prefix_social_media(); // rest of your loop