ボタンを生成せずにpinterestに「固定」するリンク


116

数十または数百の投稿を含むページがあり、それぞれにソーシャルボタンがあります。各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ボタンを使わせようとしないでください。

回答:


183

Pinterestボタンの標準コード(ここで生成できます)は、Pinterestボタンを<a>ラップするタグ<img>です。

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ボタンを使用してこれを行う例については、改善されたHTML5構文を使用したGitHub Pinterestボタンプロジェクトをチェックしてください。


3
ありがとうございます。またここでは、developer.pinterest.com上のページを参照してください。developers.pinterest.com/pin_itを
ケントブリュースター

Pin Itウィジェットビルダーbusiness.pinterest.com/widget-builder/#do_pin_it_buttonは、プログラムでカスタマイズできるサンプルコードを取得する場合にも役立ちます。
William Denniss 2014年

6
@KentBrewster-価値があることについて、私はあなたのページにアクセスした後、同じ質問でここに行きました。それが持っている情報はすべて素晴らしいですが、URLパラメータについては話していません。あるいは、FacebookやTwitterの同等のページのように、JavaScriptなしで(その場でボタンを作成する状況下で)URLを使用できることは話しています。
xr280xr 14

説明の私のurlencodeは少しぎこちないです。なぜだと思いますか?例:「現時点では、別の投稿から&amp;#8217;コピー&amp; amp;貼り付けを行うので、時間は&amp;#8230;です。」-明らかに理想的とは言えません。
2015

2
上記の回答は、ユーザーが既にpinterestにログインしている場合は正常に機能します。それ以外の場合は、ログインが成功した後でもpinterestのホームページにとどまります。解決策はありますか?
2017年

69

ピン留めボタンの代わりに単純なハイパーリンクを作成する場合は、

これを変える:

http://pinterest.com/pin/create/button/?url=

これに:

http://pinterest.com/pin/create/link/?url=

したがって、完全なURLは次のようになります。

<a href="https://stackoverflow.com//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>


2
私は自分のリンクを作ることを好みます。これはまだ機能していますか、それとも変更しましたか?
nouveau 2013年

6
別のpinterestボタン(およびpinit.jsスクリプトがロードされている)がある場合、受け入れられた回答はボタンを生成します。「ボタン」ではなく「リンク」を使用するようにURLを変更すると、フッターにページボタンと、ページのどこかにカスタムページリンクを配置できます。これは受け入れられる答えになるはずです。
ashack

1
正解です。まさに私が探していたものです。これは私の意見では正しい答えになるはずです:)
patricia

3
私はこの答えに賛成しましたが、後でピンターレストをピン留めしようとするとエラーがスローされることがわかりました:Parameter 'method' (value link) is not one of unknown, uploaded, scraped, bookmarklet, email, iphone, button, ipad, android, android_tablet, api_sdk, extension, api_other, bad.。解決策は、URLをそのままにしてbutton、pinterestスクリプトを無視することです。stackoverflow.com/a/15035520/440646を
休憩

1
現時点ではエラーをスローしません:Pをプロパティリストの共有リンクとして使用:http://pinterest.com/pin/create/link/?url=URL&media=COVERIMAGE&description=ADDRESS
Jeannie

6

同じ質問がありました。これはWordpressでうまく機能します!

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


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>

2

ボタンをインストールせずにボタンを固定するコードが必要ですか?もしそうなら、あなたがピン留めしているページの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)})());


1
これでうまくいきましたが、2つの質問があります。ポップアップをどのように維持できますか?また、ランダム数学は何をしますか?
Pat

これは、「ブックレット」からのPinterestの公式コードです。通常はブックマークに保存するリンクとして使用され、Pinterestダイアログを表示するためにアクセスするWebサイトをクリックできますが、この方法でも問題なく機能し、実装も簡単です。
ConorLuddy、2015年

1
彼らはかなり具体的にAPIドキュメントでこれをしないようにあなたに言っています。できるからといって、そうするべきではありません。
2015

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 5データ属性に保存された画像と説明を持つクラスを持つすべてのリンクで機能しdata-imagedata-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の例を参照してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.