J'ai une page avec des dizaines ou des centaines de messages, chacun avec des boutons sociaux. Je ne peux tout simplement pas générer tous les boutons pour chaque URL: elle est trop lente (facebook, g +, twitter, pinterest ... pour des centaines de liens). Ainsi, au lieu du bouton de partage facebook à générer à la volée, j’utilise un simple img pointant vers
https://www.facebook.com/sharer.php?u=${url_of_current_post}&t=
Lorsque l'utilisateur clique dessus, une fenêtre contextuelle s'ouvre avec le contenu généré par Facebook.
Comment puis-je le faire pour Pinterest? Je trouve seulement autour du code pour générer le bouton, mais je voudrais éviter js du tout si possible. Y a-t-il quelque chose comme ce qui suit?
http://pinterest.com/pinthis?url=${url_of_current_post}
S'il vous plaît, n'essayez pas de me faire utiliser le bouton js, merci.
Le code de bouton Pinterest standard (que vous pouvez générer ici ) est une balise <a>
Entourant un <img>
Du bouton Pinterest.
Si vous n'incluez pas le script pinit.js
Sur votre page, cette balise <a>
Fonctionnera "en l'état". Vous pouvez améliorer l'expérience en enregistrant votre propre gestionnaire de clics sur ces balises qui ouvrent une nouvelle fenêtre avec les dimensions appropriées, ou au moins en ajoutant target="_blank"
À la balise pour la rendre ouverte en cliquant dans une nouvelle fenêtre.
La syntaxe de la balise ressemblerait à ceci:
<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>
Si les versions JavaScript des boutons de partage ruinent les temps de chargement de votre page, vous pouvez améliorer votre site en utilisant des méthodes de chargement asynchrones. Pour un exemple de ce faire avec le bouton Pinterest, consultez mon projet bouton GitHub Pinterest avec une syntaxe améliorée de HTML5 .
Si vous souhaitez créer un lien hypertexte simple à la place du bouton épingler,
Change ça:
http://pinterest.com/pin/create/button/?url=
Pour ça:
http://pinterest.com/pin/create/link/?url=
Ainsi, un complet URL pourrait simplement ressembler à ceci:
<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>
J'ai eu la même question. Cela fonctionne très bien dans Wordpress!
<a href="//pinterest.com/pin/create/link/?url=<?php the_permalink();?>&description=<?php the_title();?>">Pin this</a>
Pour de tels cas, j’ai trouvé très utile le Share Link Generator , cela aide à créer des boutons de partage sur Facebook, Google+, Twitter, Pinterest, LinkedIn.
J'ai trouvé du code pour 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>
Ensuite, vous mettez ce qui suit dans votre 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>
Donc vous voulez que le code soit sur le bouton Épingler sans installer le bouton? Si c'est le cas, collez ce code à la place de l'URL de la page à partir de laquelle vous épinglez. Il devrait fonctionner comme un bouton pin it sans le bouton.
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)})());
Vous pouvez créer un lien personnalisé comme décrit ici en utilisant un petit script 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;
});
cela fonctionnera pour tous les liens de classe linkPinIt
qui ont l'image et la description stockées dans les attributs de données HTML 5 data-image
et 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>
voir ceci exemple jfiddle