Короткий код Pinterest «Pin it» для текстовой ссылки в блоге WordPress

Я пытаюсь найти короткий код, который позволит мне добавить текстовую ссылку «Pin It» (Pinterest) в мой блог WordPress. Я просто хочу только текстовую ссылку. Я не хочу использовать графическую кнопку, для которой они предоставляют код, что делает это сложным.

Это очень просто сделать с Facebook и Twitter. Например:

<a href="http://www.facebook.com/share.php?u=<?php echo get_permalink() ?>" title="Share on Facebook" target="_blank">Facebook,</a>

<a href="http://twitter.com/home?status=Currently reading <?php the_permalink(); ?>" title="Share on Twitter" target="_blank">Twitter,</a>

Кто-нибудь знает, как использовать аналогичную строку кода для Pinterest? Любое руководство приветствуется.


person Glyph    schedule 20.04.2012    source источник


Ответы (5)


Это то, что я сделал на моем сайте.

/*Stuff for Pinterest*/
    //getting the permalink
$postpermalink = urlencode( get_permalink() );

    //getting the thumbnail
$imageurl = urlencode( wp_get_attachment_url( get_post_thumbnail_id($post->ID) ) );
/*End of Pinterest*/

Затем html:

<a target="blank" href="http://pinterest.com/pin/create/button/?url=<?php echo $postpermalink ?>&media=<?php echo $imageurl ?>" title="Pin This Post">Pin</a>

Надеюсь это поможет.

person AllanT    schedule 17.11.2012

Я использую: (источник)

в функции.php:

    function pinterest_post_page_pin_no_count() {
    global $post;
    /* HORIZONTAL NO-COUNTER PINTEREST BUTTON */
    printf( '<div class="pinterest-posts"><a href="http://pinterest.com/pin/create/button/?url=%s&media=%s" class="pin-it-button" count-layout="none">Pin It</a><script type="text/javascript" src="http://assets.pinterest.com/js/pinit.js"></script></div>', urlencode(get_permalink()), urlencode( get_post_meta($post->ID, 'thesis_post_image', true) ) );
    }
    add_shortcode( 'thesis_hook_before_post_box', 'pinterest_post_page_pin_no_count' );

в %template-name%.php

 <?php echo do_shortcode("[thesis_hook_before_post_box]"); ?>   

или просто (источник)

<a href="http://www.pinterest.com/pin/create/button/?url=<?php the_permalink(); ?>&media=<?php if(function_exists('the_post_thumbnail')) echo wp_get_attachment_url(get_post_thumbnail_id()); ?>&description=<?php echo get_the_title(); ?> - <?php echo get_permalink(); ?>" id="pinterest" target="_blank">Pinterest Pin It</a>
person meck373    schedule 18.05.2014

Вы можете использовать аналогичный подход следующим образом:

<a target="_blank" href="http://pinterest.com/pin/create/button/?url=<?php the_permalink(); ?>&amp;media=<?php echo $image->guid;?>&amp;description=<?php echo rawurlencode(get_the_title()); ?>">Pinterest,</a>

Пример HTML:

<a target="_blank" href="http://pinterest.com/pin/create/button/?url=http://www.google.&amp;media=http://www.google.co.id/images/srpr/logo3w.png&amp;description=Google Search Engine" >Pinterest,</a>
person morksinaanab    schedule 22.11.2012

если внимательно посмотреть на сгенерированную кнопку:

Есть тег <img>:

Maybe this is what you want:

<a href="http://pinterest.com/pin/create/button/" class="pin-it-button" count-layout="horizontal">pin it!</a>

И вот как вы это делаете, используя серверный код:

<a href="http://pinterest.com/pin/create/button/?url={the URL you want to pin}&media={image URL assiciated to the URL}&description={image or URL description}" class="pin-it-button" count-layout="horizontal">pin it!</a>
person ariefbayu    schedule 20.04.2012
comment
Я не думаю, что это работает. Сгенерированный код кнопки просит меня ввести URL-адрес и имя изображения. Однако мне нужен код, который просто извлекает эту информацию со страницы с помощью php, как в примерах Facebook и Twitter. - person Glyph; 20.04.2012
comment
Я тоже пробовал это, однако это приводит к отображению изображения кнопки. Я пытался создать собственный класс для кнопки «пин-это», чтобы скрыть ее, но все равно не люблю. Конечно, не может быть так сложно просто показать только текстовую ссылку ?? - person Glyph; 26.04.2012
comment
просто уточнение: говоря, что это заставляет изображение кнопки появляться, означает ли это, что: (1) изображение кнопки является изображением булавки на вашей странице или (2) изображением на странице результатов закрепления ( на сайте pinterest)? - person ariefbayu; 27.04.2012
comment
Нет, я имею в виду маленькую булавку на моей странице. Мне не нужна никакая графика, только простая текстовая ссылка. Мне все еще не удается найти способ сделать это. Это ведь не может быть так сложно? Я пробую все и потратил часы, пытаясь решить это. Может быть у кого-нибудь есть другие зацепки по этому поводу? - person Glyph; 08.06.2012

Преобразование ответа @AllanT в шорткод.

Использование: [pinterest-link title="HREF TITLE" text="ANCHOR TEXT"]
Атрибуты title и text являются необязательными.

add_shortcode( 'pinterest-link', 'so_10240032_pinterest_text_link' );

function so_10240032_pinterest_text_link( $atts, $content = null )
{   
    $title = ( isset( $atts['title'] ) ) ? $atts['title'] : 'Pin This Post';
    $text  = ( isset( $atts['text'] ) )  ? $atts['text']  : 'Pin';

    $postpermalink = urlencode( get_permalink() );

    $imageurl = urlencode( 
        wp_get_attachment_url( 
            get_post_thumbnail_id( $post->ID ) 
        ) 
    );

    $html = 
        '<a target="blank" href="http://pinterest.com/pin/create/button/?url=' 
        . $postpermalink 
        . '&media='
        . $imageurl
        . '" title="'
        . $title 
        . '">'
        . $text 
        . '</a>';

    return $html;
}
person brasofilo    schedule 28.11.2012