Вопрос по – Ссылка на «закрепить» на интересе без создания кнопки

101

У меня есть страница с десятками или сотнями сообщений, каждое с социальными кнопками. Я просто не могу сгенерировать все кнопки для каждого 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, спасибо.

Ваш Ответ

7   ответов
6

<a href="//pinterest.com/pin/create/link/?url=<?php the_permalink();?>&amp;description=<?php the_title();?>">Pin this</a>
4

Share Link Generator, это помогает создавать кнопки обмена Facebook, Google+, Twitter, Pinterest, LinkedIn.

0

Вот используя небольшой скрипт jQuery

$('.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 5data-image а такжеdata-desc

<a href="https%3A%2F%2Fwww.flickr.com%2Fphotos%2Fkentbrew%2F6851755809%2F" 
   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

1

вы хотите код для закрепления кнопки без установки кнопки? Если это так, просто вставьте этот код вместо 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)})());

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
2

 <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>
167

генерировать здесь), является<a> тег упаковка<img> кнопки Pinterest.

Если вы не включилиpinit.js скрипт на вашей странице, это<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.

Конструктор виджетов Pin Itbusiness.pinterest.com/widget-builder/#do_pin_it_button также полезно для получения некоторого примера кода, который затем можно настроить программно.
Отличный ответ, спасибо! Также, пожалуйста, смотрите нашу страницу на developer.pinterest.com, здесь:developers.pinterest.com/pin_it
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
62

Изменить это:

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>

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededParameter 'method' (value link) is not one of unknown, uploaded, scraped, bookmarklet, email, iphone, button, ipad, android, android_tablet, api_sdk, extension, api_other, bad.Error: User Rate Limit ExceededbuttonError: User Rate Limit Exceededstackoverflow.com/a/15035520/440646
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

Похожие вопросы