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://purplemoggy.blogspot.com ) he obtenido la solución:
Hay que agregar el siguiente script antes del </head> en la plantilla (Edición HTML) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | <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)
muy wena la info respecto a este tema de las entradas
ando buscando todo lo contrario….
me gustaria saber si se puede hacer que al entrar a tu blog
siempre salga la misma entrada..en realidad no se si eso es posible
pero me gustaria saberlo y si me puedes alludar como hacerlo
te lo agradeseria mucho
saludos y ojala me contestes
buen blog
No me funciona.
Si pudiera ser, en lugar de mostrar un enlace, no pude mostrar ya el nombre del post al azar¿
@Jaume En blogger no se puede porque esa lista se tendría que generar con PHP, y blogger no nos deja :(
Exelente,andubo de 10!! Gracias compa.