Enlace para "fijarlo" en pinterest sin generar un botón
Frecuentes
Visto 139,482 equipos
122
Tengo una página con decenas o cientos de publicaciones, cada una con botones sociales. Simplemente no puedo generar todos los botones para cada url: es demasiado lento (facebook, g+, twitter, pinterest... para cientos de enlaces). Entonces, en lugar de que el botón de compartir de Facebook se genere sobre la marcha, uso un img simple que apunta a
https://www.facebook.com/sharer.php?u=${url_of_current_post}&t=
Cuando el usuario hace clic en él, se abre una ventana emergente con contenido generado por facebook.
¿Cómo puedo hacerlo para Pinterest? Solo encuentro código para generar el botón, pero me gustaría evitar js si es posible. ¿Hay algo como lo siguiente?
http://pinterest.com/pinthis?url=${url_of_current_post}
Por favor, no intentes hacerme usar el botón js, gracias.
7 Respuestas
185
El código estándar del botón de Pinterest (que puede generar aquí), es un <a>
etiqueta que envuelve un <img>
del botón de Pinterest.
Si no incluye el pinit.js
script en su página, este <a>
la etiqueta funcionará "tal cual". Podría mejorar la experiencia registrando su propio controlador de clics en estas etiquetas que abre una nueva ventana con las dimensiones apropiadas, o al menos agregando target="_blank"
a la etiqueta para que se abra haga clic en una nueva ventana.
La sintaxis de la etiqueta se vería así:
<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 el uso de las versiones de JavaScript de los botones para compartir está arruinando los tiempos de carga de su página, puede mejorar su sitio utilizando métodos de carga asincrónicos. Para ver un ejemplo de cómo hacer esto con el botón de Pinterest, consulte mi Proyecto de botón de GitHub Pinterest con una sintaxis HTML5 mejorada.
Respondido 23 ago 13, 12:08
82
Si desea crear un hipervínculo simple en lugar del botón pin it,
Cambia esto:
http://pinterest.com/pin/create/button/?url=
A esto:
http://pinterest.com/pin/create/link/?url=
Entonces, un completo Enlance simplemente podría verse así:
<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>
respondido 24 nov., 14:15
Prefiero hacer mis propios enlaces. ¿Sigue funcionando o lo han cambiado? - nuevo
La respuesta aceptada generará un botón si tiene otro botón de pinterest (y el script pinit.js cargado). Cambiar la URL para que tenga "enlace" en lugar de "botón" le permitirá tener un botón de interés en su pie de página y un enlace de interés personalizado en algún lugar de su página. Esta debería ser la respuesta aceptada. - una choza
Gracias por tu respuesta, exactamente lo que estaba buscando. Esta debería ser la respuesta correcta en mi opinión :) - patricia
Voté a favor de esta respuesta, pero luego descubrí que pinterest arroja un error al intentar anclar: 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.
. La solución es mantener la url como button
pero ignora el script de pinterest. ver stackoverflow.com/a/15035520/440646 - descansando
no arroja un error a partir de ahora :P usando como enlace compartido de listado de propiedades: http://pinterest.com/pin/create/link/?url=URL&media=COVERIMAGE&description=ADDRESS
- Jeannie
9
Tenía la misma pregunta. ¡Esto funciona muy bien en Wordpress!
<a href="//pinterest.com/pin/create/link/?url=<?php the_permalink();?>&description=<?php the_title();?>">Pin this</a>
Respondido 11 Oct 17, 16:10
4
Para tales casos, encontré muy útil el Compartir generador de enlaces, ayuda a crear botones para compartir en Facebook, Google+, Twitter, Pinterest, LinkedIn.
Respondido 06 ago 15, 09:08
2
Encontré un código para 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>
Luego pones lo siguiente en tu 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>
Respondido el 27 de Septiembre de 12 a las 16:09
2
Entonces, ¿quieres el código para el botón pin it sin instalar el botón? Si es así, simplemente pegue este código en el lugar de la URL de la página desde la que está anclando. Debería funcionar como un botón pin it sin el botón.
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)})());
Respondido el 26 de diciembre de 12 a las 06:12
Esto funcionó para mí, pero 2 preguntas. ¿Cómo se puede mantener la ventana emergente? Además, ¿qué hace la matemática aleatoria? - Palmadita
Es el código oficial de Pinterest de su 'bookmarklet'. Normalmente se usa como un enlace que guarda en sus marcadores y puede hacer clic en cualquier sitio web que visite para abrir un diálogo de Pinterest, pero también funciona bien de esta manera y es fácil de implementar. - Conor Luddy
Te dicen específicamente que no hagas esto en los documentos de la API. Solo porque puedas, no significa que debas. - imperativo
0
Puede crear un enlace personalizado como se describe aquí usando un pequeño 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;
});
esto funcionará para todos los enlaces con clase linkPinIt
que tienen la imagen y la descripción almacenada en los atributos de datos HTML 5 data-image
y 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>
mira esto ejemplo de jfiddle
contestado el 23 de mayo de 17 a las 12:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas button pinterest or haz tu propia pregunta.
Gran respuesta, gracias! También consulte nuestra página en developer.pinterest.com, aquí: desarrolladores.pinterest.com/pin_it - Kent Brewster
El generador de widgets Pin It business.pinterest.com/widget-builder/#do_pin_it_button también es útil para obtener un código de muestra que luego puede personalizar programáticamente. - william denniss
@KentBrewster: si sirve de algo, terminé aquí con la misma pregunta después de visitar su página. La información que tiene es genial, pero no habla de los parámetros de la URL o que la URL se puede usar sin javascript (en el contexto de crear botones sobre la marcha) como lo hacen las páginas equivalentes de Facebook y Twitter. - xr280xr
Mi urlencode en la descripción es un poco raro. ¿Alguna idea de por qué? Ejemplo: "En este punto, solo voy a copiar y pegar de otra publicación porque es hora". -- obviamente menos que ideal. - imperativo
La respuesta anterior funciona bien si el usuario ya inició sesión en pinterest; de lo contrario, permanece en la página de inicio de pinterest incluso después de iniciar sesión correctamente. ¿Alguna solución? - Uday