Mostrar un post al azar es un truco sencillo que puede retener nuestras visitas, mirémoslo así:
Un usuario llega al blog por Google, mira lo que está buscando y se va, pero hay algunos curiosos que quieren saber que más nos puede enseñar el blog, para eso están las entradas relacionadas, pero por qué no mostrar una entrada al azar. Asimismo alguien que es asiduo visitador quiere leer algo más pero no sabe qué, entonces le caería bien ver una entrada aleatoria.
Esa opción la tengo desde hace mucho tiempo gracias a Rosa (sí, la del escaparate), pero recién hace unas semanas se me ocurrió sacarle provecho. Grande fue mi sorpresa al ver que ya no me lograba mostrar la entrada aleatoria, revisando veo que desde el mismo código fuente del blog desde donde obtuvo el truco Rosa ( http://purpempggy.blogspot.com ) he obtenido la solución:
Hay que agregar el siguiente script antes del </head> en la plantilla (Edición HTML) :
<script type='text/javascript'>
//<![CDATA[
var _yourBlogUrl = "http://braulioaquino.blogspot.com";function randomPost() {
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
var theUrl = _yourBlogUrl +"/feeds/posts/summary?alt=json-in-script&callback=getTotalPostsCallback&start-index=1&max-results=1";
script.setAttribute("src", theUrl);
document.documentElement.firstChild.appendChild(script);
};
function getTotalPostsCallback(json) {
var totalResults = json.feed.openSearch$totalResults.$t;
if (totalResults > 0) {
getRandomPostNumber(totalResults);
}
};
function getRandomPostNumber(totalResults) {
var randomNumber = Math.floor((Math.random() * totalResults) + 1);
getRandomUrl(randomNumber);
};
function getRandomUrl(randomNumber) {
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
var theUrl = _yourBlogUrl +"/feeds/posts/summary?alt=json-in-script&callback=getTheUrlCallback&start-index=" + randomNumber + "&max-results=1";
script.setAttribute("src", theUrl);
document.documentElement.firstChild.appendChild(script);
};
function getTheUrlCallback(json) {
var theUrl;
for(var i = 0; i < json.feed.entry[0].link.length; i++) {
if (json.feed.entry[0].link[i].rel == "alternate") {
theUrl = json.feed.entry[0].link[i].href;
break;
}
}if(theUrl) {
window.location.href = theUrl;
}
}
//]]>
</script>
Ya sabes que donde dice http://braulioaquino.blogspot.com tienes que colocar la url de tu blog, ahora guardas la plantilla y en el lugar donde quieras colocar el enlace a la entrada aleatoria (dentro de la plantilla o en un nuevo elemento html-javascript) agregas:
<a href="javascript:randomPost();">Nombre que deseas darle al enlace</a>
Ese enlace lo puedes colocar en diferentes sitios. Trata de colocarlo e un lugar que sea visible para cualquiera que entre a tu blog.







No me funciona lo he hecho tal cual lo haz publicado
Listo, te envié un mensaje al mail. Cualquier consulta me avisas.
a mi tampoco me anda...
Editado, copien y peguen tal como está. En la anterior le hice unos saltos de linea en las dos filas largas para que se vea bien en el post, pero eso hacia que el código no funcione.
Gracias por avisar.
No me funciona me puedes ayudar?
mi correo es elioshdez(arroba)gmail.com
Me gustaria que se puedan mostrar 5 entradas aleatorias, ayudame.
Genial, me funcionó perfectamente. Puedes verlo en mi blog haciendo clic en mi apodo (solo para adultos).
Muchas gracias
Hey! Me siento importante. Mi primer comentario de agradecimiento desde un blog porno :D
Pd. De nada
Hay un código igual en la red ke me genera el error. Comparándolo con el tuyo, me di cuenta ke solo la ultima parte es la ke se debe cambiar (la funcion gettheURLCallBack).
Gracias por la orientacion XD (obviamente, ya esta incluido en mi blog)
Excelente! Gracias!!!
Genial exelente me gusta mucho el post, ademas de ser de los mejores blogs tiene muy buenos post, me gustaria que evaluaras el mio, y si te gustase tal vez podamos intercambiar links, Pura vida, el mio es www.duelscentercr.blogspot.com
no me funciona.
Yo lo que queria és que me de el nomnbre del post o de los ultimos cinco post aleatorios, si ntener que pulsar ningun enlace.
Se puede?
Jaime, no, as no funciona. Tengo entendido que para eso tendrías que crear una funcion en PHP, pero en blogger no podemos usar PHP:
Muchas gracias, llevaba un tiempo intentando poner esta característica en mi Blog y por fin lo he conseguido.
Gracias!!
Excelente! Había probado este script auxiliándome de otros blogs de ayuda sin éxito hasta que encontré el tuyo: Gracias!!!
Publicar un comentario en la entrada