ลิงก์ไปยัง "ตรึง" ใน 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 มาตรฐาน (ซึ่งคุณสามารถสร้างได้ที่นี่ ) คือ<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 ที่ปรับปรุงใหม่


3
คำตอบที่ดีขอบคุณ! นอกจากนี้โปรดดูหน้าของเราใน developer.pinterest.com ที่นี่: developers.pinterest.com/pin_it
Kent Brewster

ตัวสร้างวิดเจ็ต Pin It business.pinterest.com/widget-builder/#do_pin_it_buttonยังมีประโยชน์สำหรับการรับโค้ดตัวอย่างที่คุณสามารถปรับแต่งโดยใช้โปรแกรมได้
William Denniss

6
@KentBrewster - เพื่อสิ่งที่คุ้มค่าฉันจบลงด้วยคำถามเดียวกันหลังจากเยี่ยมชมเพจของคุณ ข้อมูลที่มีอยู่นั้นยอดเยี่ยมมาก แต่ไม่ได้พูดถึงพารามิเตอร์ URL หรือ URL นั้นสามารถใช้งานได้โดยไม่ต้องใช้จาวาสคริปต์ (ภายใต้บริบทของการสร้างปุ่มในทันที) เช่นเดียวกับเพจที่เทียบเท่ากับ facebook และ twitter
xr280xr

รหัส urlencode ของฉันในคำอธิบายค่อนข้างหยาบคาย คิดว่าทำไม? ตัวอย่าง: "ณ จุดนี้ฉันแค่ไปคัดลอก & amp; amp; วางจากโพสต์อื่นเพราะ & amp; # 8230; เวลา" - น้อยกว่าอุดมคติอย่างเห็นได้ชัด
จำเป็น

2
คำตอบข้างต้นใช้งานได้ดีหากผู้ใช้ลงชื่อเข้าใช้ pinterest แล้วมิฉะนั้นจะอยู่ในหน้าแรกของ pinterest แม้ว่าจะเข้าสู่ระบบสำเร็จก็ตาม วิธีแก้ปัญหาใด ๆ
Uday

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
ฉันชอบสร้างลิงค์ของตัวเองมาก ยังใช้งานได้หรือมีการเปลี่ยนแปลง
นูโว

6
คำตอบที่ยอมรับจะสร้างปุ่มหากคุณมีปุ่ม pinterest อื่น (และโหลดสคริปต์ pinit.js) การเปลี่ยน url ให้มี 'link' แทนที่จะเป็น 'button' จะทำให้คุณมีปุ่ม pinterest ในส่วนท้ายของคุณและมีลิงค์ pinterest ที่กำหนดเองในเพจของคุณ นี่ควรเป็นคำตอบที่ได้รับการยอมรับ
ashack

1
ขอบคุณสำหรับคำตอบของคุณสิ่งที่ฉันกำลังมองหา นี่น่าจะเป็นคำตอบที่ถูกต้องในความคิดของฉัน :)
patricia

3
ฉัน upvoted คำตอบนี้ แต่ต่อมาพบ pinterest 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

ฉันพบรหัสสำหรับ 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>

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 คำถาม คุณจะรักษาป๊อปอัปได้อย่างไร? นอกจากนี้คณิตศาสตร์แบบสุ่มทำอะไร?
พาท

เป็นรหัสทางการของ Pinterest จาก 'bookmarklet' โดยปกติจะใช้เป็นลิงก์ที่คุณบันทึกไว้ในบุ๊กมาร์กของคุณและสามารถคลิกบนเว็บไซต์ใดก็ได้ที่คุณเยี่ยมชมเพื่อเปิดบทสนทนาของ Pinterest แต่ก็ใช้งานได้ดีในลักษณะนี้เช่นกันและใช้งานง่าย
ConorLuddy

1
พวกเขาค่อนข้างบอกคุณโดยเฉพาะว่าอย่าทำสิ่งนี้ในเอกสาร API เพียงเพราะคุณทำได้ไม่ได้หมายความว่าคุณควร
จำเป็น

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-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นี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.