Sólo otro blog infame


Menú


Cómo feedvitar a los nuevos lectores

Hace unas semanas introduje una pequeña novedad en el blog, y es que a los nuevos lectores se les muestra un aviso de invitación a suscribirse al feed del blog durante sus primeras visitas.

Feedvitation en todo su esplendor para impresionar a los usuarios y que se suscriban al feed

Esta idea no es mía ni mucho menos, en realidad la plagié de Microsiervos donde llevaba un tiempo viendo la misma invitación a la suscripción para los nuevos lectores. Contacté con ellos básicamente para avisarles de que les estaba pensando plagiar y me comentaron que ellos también lo habían plagiado de algún otro sitio, pero que no era un plugin para su Movable Type sino un desarrollo propio.

Así que me puse a hacer un plugin para WordPress, de hecho casi finalizado, pero en cuanto lo empecé a usar en el blog me hicisteis saber que la idea era un incordio y una gilipollez, así que dejé el desarrollo aparcado y no le terminé la pantalla de configuración para el usuario. Por lo que dado que no voy a terminarlo os dejo aquí la forma de hacerlo “a mano” por si a alguien le interesase usarlo o incluso publicarlo en forma de plugin terminado.

Explicación y código

Como es lógico tenemos que llevar el control de las visitas del usuario y para ahorrar tener que andar controlando direcciones IP en bases de datos lo mejor es utilizar una simple cookie que nunca expire (está configurada para 4 años) y que quede albergada en la máquina del usuario.

Las cookies en PHP deben definirse en el envío de las cabeceras de la página, de modo que antes de cargar absolutamente nada en WP (generalmente en el archivo “header.php”) insertamos lo siguiente (siento que quede tan tremendamente mal formateado, pero para un copypaste es suficiente),


<?php
if (isset($_COOKIE["feedvitation"])) {
	$feedvitation = $_COOKIE["feedvitation"];
} else {
	$feedvitation = 0;
}
	
$feedvitation = $feedvitation + 1;

session_start();
$_SESSION['feedvitation'] = $feedvitation;
setcookie("feedvitation", $feedvitation, time() + (3600 * 24 * 365 * 4), "/");
?>

Una vez hecho esto a cada visitante se le crea la cookie llamada “feedvitation” que simplemente es un contador de sus visitas, puede resultar interesante activar esta parte una semana antes de empezar a mostrar el mensaje para que así los habituales ya empiecen a incorporar el contador y luego no les llegue a salir la invitación al feed. Algo que yo no hice y que por eso me tuve que explicar.

En fin, la siguiente parte es mostrar el aviso y debe ponerse en la parte del blog en que queremos que salga, generalmente en “sidebar.php” o “index.php”, en este caso está configurado para que se muestre cuando el visitante ha realizado entre 3 y 5 visitas. Como es lógico esto se podría usar con otros valores como para por ejemplo agradecer a un usuario que haya llegado a 100 visitas, etc.


<?php
session_start();
$feedvitation = $_SESSION['feedvitation'];

if (($feedvitation > 2) && ($feedvitation < 6)) { ?>
	<div class="gracias"><strong>¿Es tu primera visita?</strong>, si te
	están gustando mis gilipolleces tal vez pueda interesarte suscribirte al
	<a href="<?php bloginfo('rss2_url'); ?>">feed</a> y recibirlas conforme
	las voy publicando.</div>
<?php } ?>

Y esto es lo que sería, supongo que a nadie le interesará lo más mínimo pero tenía el tema pendiente y quería darle cierre.

# DesarRollo web,WordPress, Saturday, 26 de April de 2008 a las 17:24

3 comentarios, amigos del internec

  1. Parece mentira que no uses Linux, compartiendo tu sabiduría y código con nosotros. Gracias, pero ya sabes que no me gustó la idea. Pero aun así, lo dicho, gracias por compartirlo.

    # ElGekoNegro 26 de April de 2008 a las 17:44

  2. Lo de la felicitación por visita nº100 me ha molao un puñao. Si alguna vez pago un dominio y le meto wordpress le pondré un contador personal de visitas ^^

    # Ellohir 26 de April de 2008 a las 18:23

  3. A mí me pueden todas estas pijaditas, pero esta en concreto no me parece demasiado útil porque si alguien tiene un agregador de feeds sabe lo que es un feed y sabe que todos los blogs tienen uno. La suscripción por correo quizá tendría más sentido.

    Otra cosa que llevo tiempo queriendo comentarte es que me he plagiado algunas ideas tuyas para mi blog. Sí, ya sé que lo suyo hubiera sido avisar en su día como tú con Microsiervos, pero no lo hice, aunque lo que sí hice hace poco es una entrada explicativa. Aquí el informe completo.

    # Harad 26 de April de 2008 a las 18:29