SummArg | Cursos y recursos para webmasters

11/10/2012

Usar campos personalizados para setear una fecha de expiración de la entrada

La función de fecha de expiración de una entrada puede insertarse en WordPress mediante plugins como Post Expirator, o bien con algún pequeño hack en nuestro bucle a la hora de llamar las entradas, que es la opción que elegimos en esta oportunidad.

Primero creamos un custom field llamado “fecha” e introducimos la fecha con el formato yyyy/mm/dd. Luego en el loop en la plantilla en donde deseamos mostrar las entradas y esconder las que ya superaron su fecha de caducidad colocamos:

<?php
 if ( have_posts() ) : while ( have_posts() ) : the_post();
 $currentdate = date("Ymd");
 $expirationdate = get_post_custom_values('fecha');
 if (is_null($expirationdate)) {
 $expirestring = '30005050';
 } else {
 if (is_array($expirationdate)) {
 $expirestringarray = implode($expirationdate);
 }
 $expirestring = str_replace("/","",$expirestringarray);
 } //else
 if ( $expirestring > $currentdate ) { ?>
 <div class="evento">
 <h3><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h5>
 <?php the_excerpt(); ?>
 </div>
 <?php
 }
 endwhile; endif; ?>

En nuestro caso resultó práctico para mostrar los próximos eventos de una entidad escondiendo los eventos que ya caducaron pero sobre los cuales no se realizó aún una entrada relatando la crónica del evento. De este modo no borramos el evento pero tampoco lo mostramos, quedando a criterio del editor cómo manejar dicho evento.

Dejar un comentario