Ссылка на "pin it" на pinterest без создания кнопки
У меня есть страница с десятками или сотнями сообщений, каждая с социальными кнопками.
Я просто не могу создать все кнопки для каждого URL: он слишком медленный (facebook, g +, twitter, pinterest... для сотен ссылок). Таким образом, вместо кнопки общего доступа к facebook, которая будет генерироваться "на лету", я использую простой img, указывающий на
https://www.facebook.com/sharer.php?u=${url_of_current_post}&t=
Когда пользователь нажимает на него, открывается всплывающее окно с контентом, созданным в facebook.
Как я могу сделать это для Pinterest? Я только нашел код для генерации кнопки, но я хотел бы избежать js вообще, если это возможно. Есть ли что-то вроде следующего?
http://pinterest.com/pinthis?url=${url_of_current_post}
Пожалуйста, не пытайтесь заставить меня использовать кнопку js, спасибо.
Ответы
Ответ 1
Стандартный код кнопки Pinterest (который вы можете генерировать здесь), является тегом <a>
, обертывающим <img>
кнопки Pinterest.
Если вы не включаете pinit.js
script на свою страницу, этот тег <a>
будет работать как "как есть". Вы можете улучшить опыт, зарегистрировав свой собственный обработчик кликов на этих тегах, который откроет новое окно с соответствующими размерами или, по крайней мере, добавит target="_blank"
к тегу, чтобы он открывал клики в новом окне.
Синтаксис тега будет выглядеть так:
<a href="http://pinterest.com/pin/create/button/?url={URI-encoded URL of the page to pin}&media={URI-encoded URL of the image to pin}&description={optional URI-encoded description}" class="pin-it-button" count-layout="horizontal">
<img border="0" src="//assets.pinterest.com/images/PinExt.png" title="Pin It" />
</a>
Если использование версий разделов для обмена версиями JavaScript разрушает время загрузки страницы, вы можете улучшить свой сайт с помощью асинхронных методов загрузки. Для примера этого с помощью кнопки Pinterest просмотрите проект GitHub Pinterest с улучшенным синтаксисом HTML5.
Ответ 2
Если вы хотите создать простую гиперссылку вместо кнопки pin,
Измените это:
http://pinterest.com/pin/create/button/?url=
Для этого:
http://pinterest.com/pin/create/link/?url=
Таким образом, полный URL может выглядеть примерно так:
<a href="//pinterest.com/pin/create/link/?url=http%3A%2F%2Fwww.flickr.com%2Fphotos%2Fkentbrew%2F6851755809%2F&media=http%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">Pin it</a>
Ответ 3
У меня был тот же вопрос. Это отлично работает в Wordpress!
<a href="//pinterest.com/pin/create/link/?url=<?php the_permalink();?>&description=<?php the_title();?>">Pin this</a>
Ответ 4
В таких случаях я нашел очень полезным Share Link Generator, он помогает создавать кнопки общего доступа Facebook, Google+, Twitter, Pinterest, LinkedIn.
Ответ 5
Я нашел код для wordpress:
<script type="text/javascript">
function insert_pinterest($content) {
global $post;
$posturl = urlencode(get_permalink()); //Get the post URL
$pinspan = '<span class="pinterest-button">';
$pinurl = '';
$pinend = '</span>';
$pattern = '//i';
$replacement = $pinspan.$pinurl.'$2.$3'.$pindescription.$pinfinish.''.$pinend;
$content = preg_replace( $pattern, $replacement, $content );
//Fix the link problem
$newpattern = '/<span class="pinterest-button"><\/a><\/span><\/a>/i';
$replacement = '';
$content = preg_replace( $newpattern, $replacement, $content );
return $content;
}
add_filter( 'the_content', 'insert_pinterest' );
</script>
Затем вы помещаете следующее в свой PHP:
<?php $pinterestimage = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' ); ?>
<a href="http://pinterest.com/pin/create/button/?url=<?php echo urlencode(get_permalink($post->ID)); ?>&media=<?php echo $pinterestimage[0]; ?>&description=<?php the_title(); ?>">Pin It</a>
Ответ 6
Итак, вы хотите, чтобы код был нажат кнопку без установки кнопки? Если это так, вставьте этот код вместо URL-адреса страницы, с которой вы связываетесь. Он должен работать как кнопка с кнопкой без кнопки.
javascript:void((function(){var%20e=document.createElement('script');e.setAttribute('type','text/javascript');e.setAttribute('charset','UTF-8');e.setAttribute('src','http://assets.pinterest.com/js/pinmarklet.js?r='+Math.random()*99999999);document.body.appendChild(e)})());
Ответ 7
Вы можете создать пользовательскую ссылку, как описано здесь, используя небольшой jQuery script
$('.linkPinIt').click(function(){
var url = $(this).attr('href');
var media = $(this).attr('data-image');
var desc = $(this).attr('data-desc');
window.open("//www.pinterest.com/pin/create/button/"+
"?url="+url+
"&media="+media+
"&description="+desc,"_blank","top=0,right=0,width=750,height=320");
return false;
});
это будет работать для всех ссылок с классом linkPinIt
, у которых есть изображение и описание, хранящиеся в атрибутах данных HTML 5 data-image
и data-desc
<a href="#" onclick="location.href='https%3A%2F%2Fwww.flickr.com%2Fphotos%2Fkentbrew%2F6851755809%2F'; return false;"
data-image="https%3A%2F%2Fc4.staticflickr.com%2F8%2F7027%2F6851755809_df5b2051c9_b.jpg"
data-desc="Title for Pinterest Photo" class="linkPinIt">
Pin it!
</a>
см. этот пример jfiddle