El botón no sale, sale pero no refleja los +1 que realmente lleva acumulados, cuando coinciden dos botones en la misma página lo mismo desaparece un botón que el otro sale a cero... En fin, diversos avatares que con lo sencilla que es la instalación del botón, parecen increíbles.
Servidor no había tenido nunca este problema hasta que hace unos días se puso a trastear la plantilla y tocó algo sin recordar qué. Eso provocó estos problemas que comento.
Pero afortunadamente, el Sr. Pizcos publicó ayer un artículo que me hizo recordar dónde estaba el quid de la cuestión. Y este no es otro que saber el lugar adecuado dónde colocar el código del script.
Hay que distinguir entre el propio código que captura y genera los datos del botón y el código que lo "pinta" en web.
El primero hay que situarlo antes de </body> ya que precisamente las pegas surgen cuando se coloca en el sitio que para nosotros debería ser el normal (<head>). Podéis usar el script normal o el asíncrono. Este último sirve para que la página cargue sin la interferencia del botón. Aquí están los dos y podéis usar el que prefiráis, siempre teniendo en cuenta situarlo antes de </body>:
Estándar
<!-- Boton +1 -->
<script type='text/javascript' src='https://apis.google.com/js/plusone.js'></script>
<script type='text/javascript' src='https://apis.google.com/js/plusone.js'></script>
Asíncrono
<!-- Boton +1 -->
<script type='text/javascript'>
//<![CDATA[
window.___gcfg = {lang:"es"};
(function() {
var po = document.createElement("script"); po.type = "text/javascript"; po.async = true;
po.src = "https://apis.google.com/js/plusone.js";
var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(po, s);
})();
//]]>
</script>
<script type='text/javascript'>
//<![CDATA[
window.___gcfg = {lang:"es"};
(function() {
var po = document.createElement("script"); po.type = "text/javascript"; po.async = true;
po.src = "https://apis.google.com/js/plusone.js";
var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(po, s);
})();
//]]>
</script>
Una vez metido esto en la plantilla, ahora sólo tenemos que poner el siguiente código dónde queramos que aparezca el botón (post-footer, post-header, etc.)
<g:plusone></g:plusone>
Pero si por cuestiones de diseño, el botón debe aparecer más de una vez por página, por ejemplo como ocurre en el Home cuando se ven varios posts de una tacada, a este código hay que añadirle la dirección de la entrada correspondiente para que no haya conflictos. En Blogger, esta dirección la conocemos por la variable data:post.url:
<g:plusone expr:href='data:post.url' ></g:plusone>
Y cómo ya comentamos en una entrada anterior, si además queremos poner un botón adicional para hacer +1 en nuestra dirección principal, directamente ponemos dicha dirección y listo:
<g:plusone href="http://www.oloblogger.com" ></g:plusone>
Como podéis comprobar, actualmente en esta misma entrada coexisten sin problemas ese botón de arriba que va sólo sobre la dirección principal, el de la barra lateral con el mismo destino, otro en la parte superior del post con referencia a la dirección de la entrada y otro en el pie del post con idéntico puntaje.
Y tampoco habrá ningún inconveniente si se utilizan simultáneamente los botones sociales que nos proporciona Blogger de serie.
Actualización:
Tal y cómo avisa Chacien en un comentario, este código es innecesario desde que Blogger incorporó de serie como gadget, el botón +1 para recomendar el sitio (no las entradas).
Para mayor ventaja, el script que se inserta en ese caso es el asíncrono, en mi opinión el más conveniente.
Tal y cómo avisa Chacien en un comentario, este código es innecesario desde que Blogger incorporó de serie como gadget, el botón +1 para recomendar el sitio (no las entradas).
Para mayor ventaja, el script que se inserta en ese caso es el asíncrono, en mi opinión el más conveniente.

No hay comentarios:
Publicar un comentario