martes, 9 de agosto de 2011

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Contenido con fecha de caducidad

Posted: 09 Aug 2011 03:11 PM PDT

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? …

1. Código

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

PHP:
  1. // Añade shortcode de caducidad //
  2.  
  3. function caducidad_shortcode($args = array(), $content = '') {
  4.     extract(shortcode_atts(
  5.         array(
  6.             'off' => 'mañana', // el shortcode no funcionará sino defines una fecha concreta
  7.         ),
  8.         $args
  9.     ));
  10.     if (strtotime($off)> time()) {
  11.         return $content;
  12.     }
  13.     return '';
  14. }
  15.  
  16. add_shortcode('caducidad', 'caducidad_shortcode');
  17.  
  18. // Añadimos un shortcode para mostrar lo que se verá tras terminar la fecha //
  19.  
  20. function muestra_shortcode($args = array(), $content = '') {
  21.     extract(shortcode_atts(
  22.         array(
  23.             'on' => 'mañana', // el shortcode no funcionará sino defines una fecha concreta
  24.         ),
  25.         $args
  26.     ));
  27.     if (strtotime($on) <time()) {
  28.         return $content;
  29.     }
  30.     return '';
  31. }
  32. 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:

PHP:
  1. [caducidad off="2013-01-01"]Entra al concurso, aquí tienes el enlace para participar[/caducidad]
  2. [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.

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía Domina tu Blog

No hay comentarios:

Publicar un comentario

Seguidores

Archivo del blog