Вот фрагмент кода из функционального метода в агрегаторе новостей. Для постов, на которые добавлены ссылки, отображается кнопка «Прикрепить», если я могу найти изображение с помощью простого HTML.
// Pinterest
/*
Pinterest requires two bits of code, something like this:
<a href="http://pinterest.com/pin/create/button/?url=http%3A%2F%2Fwww.muschamp.ca%2F&media=http%3A%2F%2Fwww.muschamp.ca%2Fimage.jpg&description=whatever" class="pin-it-button" count-layout="horizontal"><img border="0" src="//assets.pinterest.com/images/PinExt.png" title="Pin It" /></a>
Where you want the button ie here, and
<script type="text/javascript" src="//assets.pinterest.com/js/pinit.js"></script>
directly after the body tag just like Facebook's new style button
*/
// I definitely miss how I did things in my previous code base, if there is no image should not be able to pin...
if(($image != NULL) && ( ! strpos($image->src, '+')) && ( ! strpos($image->src, '%'))
&& (preg_match('|^http?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $image->src)))
{
// If I don't display a valid image, no sense in showing a Pin It button
$html .= '<li>'; // Opening <li>
// May want a more elaborate description...
$html .= '<a href="http://pinterest.com/pin/create/button/?url=' . $item->get_permalink() . '&media=' . $image->src . '&description=' . $item->get_title() . '" class="pin-it-button" count-layout="horizontal"><img border="0" src="//assets.pinterest.com/images/PinExt.png" title="Pin It" /></a></li>';
}
Сложный, если это окажется необходимым при тестировании, так как некоторые действительные URL-адреса могут быть не приняты как допустимые JavaScript в Pinterest, по крайней мере, это было то, что я обнаружил при тестировании. Похоже, что символы «%» и «+» особенно неприятны. Pinterest не позволит вам прикреплять маленькие изображения или даже действительно большие изображения, но так как я также использовал PHP для изменения размера изображений в своем новостном агрегаторе, я не проверяю это здесь, но это то, что нужно учитывать при добавлении Pinterest применение.