Contenido con fecha de caducidad

Mira que hace tiempo que rondaba esta duda en mi cabeza y la de alguno más, hasta recuerdo alguna pregunta en el foro al respecto. Y es que el contenido, como todo en esta vida, caduca.

Imagina un sitio web de noticias de actualidad, sobre todo si está centrado en un nicho muy concreto como este, en el que hay información que queda anticuada, que ya no tiene sentido, bien sea por actualizaciones o por cambios de rumbo en el desarrollo de una actividad. Seguro que imaginas algunas situaciones a las que se puede aplicar esto.

Pues bien ¿no tendría sentido ocultar contenido caducado?.

Ahora plantéate lo contrario, que haya información de la que ya dispones pero que aún no puedes divulgar (o no debes), pero que quieres que esté incluida en una publicación ya existente. Un caso muy habitual, que a mi me surge muchas veces, es cuando en una entrada quiero apuntar a información de otra que tengo programada y que, a la fecha de la publicación de la primera no debería ser visible ya que daría error el enlace a la que aún no salió a la luz. ¿A que estaría bien disponer de un sistema para programar la vida y caducidad de un contenido concreto?.

Pues existe … 

Y lo mejor de todo es que puedes hacerlo mediante código puro y duro o con un plugin que te facilita la primera parte de la programación, luego solo te queda añadir los shortcodes. ¿Lo vemos? …

Índice de contenidos

1. Código

Si te animas solo hay que añadir el siguiente código a tu fichero functions.php:

// Añade shortcode de caducidad //

function caducidad_shortcode($args = array(), $content = '') {
	extract(shortcode_atts(
		array(
			'off' => 'mañana', // el shortcode no funcionará sino defines una fecha concreta
		),
		$args
	));
	if (strtotime($off) > time()) {
		return $content;
	}
	return '';
}

add_shortcode('caducidad', 'caducidad_shortcode');

// Añadimos un shortcode para mostrar lo que se verá tras terminar la fecha //

function muestra_shortcode($args = array(), $content = '') {
	extract(shortcode_atts(
		array(
			'on' => 'mañana', // el shortcode no funcionará sino defines una fecha concreta
		),
		$args
	));
	if (strtotime($on) < time()) {
		return $content;
	}
	return '';
}
add_shortcode('muestra', 'muestra_shortcode');

Una vez tenemos la función guardada ya podemos programar contenido dentro de nuestras entradas usando los shortcodes, por ejemplo un concurso:

[caducidad off="2013-01-01"]Entra al concurso, aquí tienes el enlace para participar[/caducidad]
[muestra on="2013-01-01"]Lo sentimos, el concurso ha terminado, otra vez será.[/muestra]

Sencillito ¿no crees?

2. Plugin

Ahora bien, si quieres ahorrarte la parte de incluir la nueva función, puedes usar el plugin que ha creado Dave Clements, autor también del código anterior, llamado «Show/hide content at set time» (explícito que es el señorito), una mejora de otro llamado CF Expiring Content, y luego solo tienes que usar los shortcodes que indica en la página del plugin, del mismo modo que en el ejemplo de arriba.

Está bien ¿no?. Espero te sirva para alguno de tus sitios, presentes o futuros.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(6 votos, promedio: 5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

6 comentarios en “Contenido con fecha de caducidad”

  1.  Y no sólo el contenido "caduca", sino que el contenido caducado puede llegar a despistarnos. ¿cuántas veces has estado peleando con las instrucciones de algo sólo para darte cuenta doscientos cafés más tarde de que son de la versión 1.x y que tú tienes la 2.x?

  2. Y no hay algún plugin que en lugar de ocultar el post caducado lo ponga "debajo" de los aun vigentes?, o quizás alguna manera de agregar automáticamente a un post la frase: "post caducado", o algo similar?
    Muchas gracias

  3. Pingback: Texto con fecha de caducidad | Ayuda WordPress

  4. Permitirme una pequeña duda… Tenéis razón en que ciertos contenidos basados en noticias llegará un momento en que están obsoletos y no tendrán utilidad, sólo ocuparán espacio y puede que problemas con los slug o quién sabe qué.

    Pero ¿Sería positivo mantenerlos para hacer llegar posibles visitas? ¿Es positivo para el SEO?

    Gracias por vuestros comentarios, visito esta web con mucha frecuencia y es de agradecer vuestro contenido. Saludos

  5. Pingback: Texto con fecha de caducidad

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido