Tutoriales de WordPress de Confianza, cuando más los necesitas.
Guía para Principiantes de WordPress
Copa WPB
25 Millones+
Sitios web que usan nuestros plugins
16+
Años de experiencia en WordPress
3000+
Tutoriales de WordPress de expertos

Cómo ordenar publicaciones por fecha de expiración de publicación en WordPress

En el pasado, hemos compartido cómo hacer que las publicaciones expiren en WordPress usando el Plugin Post Expirator. Bueno, al crear un sitio de listado de eventos, encontramos que este plugin era muy útil. Podemos eliminar fácilmente los listados de eventos que han expirado. En segundo lugar, gracias a este plugin, también es muy fácil ordenar las publicaciones por fecha de expiración de la publicación. En este artículo, le mostraremos cómo ordenar las publicaciones por fecha de expiración de la publicación en WordPress.

Código actualizado para reflejar los cambios en el plugin donde cambiaron el nombre del campo personalizado. Gracias Tajim por informarnos en los comentarios.

En nuestro proyecto particular, teníamos Eventos como un Tipo de Publicación Personalizado. Ahora, esto es para una organización sin fines de lucro que organiza aproximadamente un evento al mes, así que simplemente creamos un bucle para poner en su página de eventos. Puede usar el código en su barra lateral o en cualquier otro lugar que desee.

<?php
$args = array( 'post_type' => 'event', 'posts_per_page' => 15, 'order' => 'ASC', 'meta_key' => '_expiration-date', 'orderby' => 'meta_value' );
$eventloop = new WP_Query( $args );
if ( $eventloop->have_posts() ) : while ( $eventloop->have_posts() ) : $eventloop->the_post();

//All the Loop Content Goes Here

endwhile;
endif;
?>

El truco es utilizar meta_key y luego user oderby meta_value. Ponerlo en Orden Ascendente muestra el evento que se acerca (que expira pronto). Ejemplo de nuestro listado de eventos:

Ordenar publicaciones por expiración de publicación (ejemplo de evento)

Tenga en cuenta que para que esto funcione, DEBE usar el Plugin Post Expirator.

Si tiene alguna pregunta, no dude en preguntar en los comentarios a continuación.

Descargo de responsabilidad: Nuestro contenido es compatible con el lector. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Consulta cómo se financia WPBeginner, por qué es importante y cómo puedes apoyarnos. Aquí está nuestro proceso editorial.

El Kit de herramientas definitivo para WordPress

Obtén acceso GRATUITO a nuestro kit de herramientas: ¡una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Interacciones del lector

24 CommentsLeave a Reply

  1. Hola, estoy intentando hacer que esto funcione en mis productos de WooCommerce que deben ser manipulados para ser cursos externos que expiran en una fecha determinada. Realmente necesito ordenarlos por fecha de vencimiento, no estoy seguro de lo que estoy haciendo mal. Gracias

  2. ¿Es posible mostrar las publicaciones que finalizan hasta el día siguiente o la próxima semana, mes, etc.
    Quiero crear un sitio que muestre todas las publicaciones que finalizan al día siguiente. y una que muestre todas las publicaciones que finalizan la próxima semana.

    ¿Alguna sugerencia?

  3. He estado intentando hacer que este código funcione con un tema secundario de Genesis Pro. Creé varias publicaciones con fechas futuras. Agregué este código a las barras laterales a través de códigos cortos e intenté dentro del archivo functions.php. No estoy usando campos personalizados ni agregando información.

    Se agradecerían ideas

  4. He estado intentando hacer que esto funcione sin éxito. Lo publiqué en la barra lateral, functions.php y como códigos cortos. Se agradecería cualquier ayuda.

  5. No he podido hacer que esto funcione con un tema secundario de Genesis Pro. Lo agregué a las últimas líneas del archivo functions.php. También agregué valores meta. No estoy seguro por qué no se publica en orden ASC por fecha de vencimiento.

    gracias de antemano

  6. Las publicaciones como esta son la razón por la que amo Internet (y los blogs como el tuyo). Esto es exactamente lo que estaba buscando y no podría haber sido presentado de manera más simple. ¡Gracias!

  7. Solo quería decir que en la versión actual de este plugin, el nombre del campo personalizado ha cambiado de
    expiration-date a _expiration-date.

    El campo personalizado está oculto. Así que por favor actualice el código anterior.

    Saludos
    Tajim

      • Si esto no es para principiantes, ¿por qué lo publicaste en wpbeginner.com? Yo también tengo dificultades para insertar esto en mi blog y me gustaría ver una respuesta a la pregunta de KITSTS.

        • Aquí en WPBeginner, definimos a los principiantes en varios niveles. Principiante blogger, también conocido como principiante total (recién comenzando a bloguear, no sabe qué es RSS, FTP, etc.). Diseñador de temas principiante (sabe HTML+CSS, pero no tiene idea de cómo crear temas en WordPress). Desarrollador de plugins principiante (conoce el concepto general de programación, pero no específico de WordPress).

          La razón por la que no podemos responder a la pregunta de KITST es porque es imposible responder con la información proporcionada. El código compartido en el artículo es un bucle estándar de WordPress. Dónde lo pegues en tu tema variará según tus necesidades y también el tipo de tema que estés utilizando.

          Si estás usando un tema hijo, lo más probable es que ese código termine en tu archivo functions.php, por lo que puedes engancharlo a la función proporcionada por el framework del tema.

          Si estás usando otro tema de WordPress, el código puede ir en varios archivos de plantilla diferentes (index.php, sidebar.php, archive.php, archive-{posttype}.php, footer.php, header.php, etc.). Cada tema está organizado de manera diferente, lo que hace imposible que te demos una ubicación exacta donde pegar este código.

          Ten en cuenta también que el bucle que compartimos anteriormente proviene de un ejemplo de trabajo que creamos utilizando un tipo de publicación personalizado llamado 'events'. Es posible que no quieras usarlo para un tipo de publicación personalizado llamado 'events'. Quizás quieras usarlo para un tipo de publicación diferente llamado 'deals'.

          Este artículo estaba destinado a diseñadores de temas principiantes y/o desarrolladores principiantes que buscan una forma fácil de hacer esto.

  8. Me preguntaba, ¿qué plugin se usa para mostrar los próximos eventos en el ejemplo anterior?
    Gracias por un artículo encantador…

    • Eso no fue un plugin. Fue solo estilo personalizado para mostrar un tipo de publicación personalizado usando el código del bucle que compartimos en este artículo.

      Administrador

      • Ahhh... ok, ¿es posible que me des un ejemplo de "Todo el contenido del bucle va aquí"? Estoy actualizando la página web de una ONG y me gustó esta forma de mostrar los eventos. Como habrás notado, soy principiante, así que agradecería mucho tu ayuda ;o)...

        • El código del bucle es esencialmente la etiqueta php the_title(); para mostrar el título. Otro campo personalizado para mostrar la fecha. El bucle se explica bastante bien aquí:

          http://codex.wordpress.org/The_Loop

          Usamos estilo (div/imágenes/css) para que se viera así. Esta publicación trata sobre cómo ordenar las publicaciones por fecha de expiración, y el artículo muestra precisamente eso. El ejemplo utilizado es algo que hicimos para nuestro cliente, por lo que desafortunadamente no podemos compartir las imágenes/estilo por los que pagaron. Envíanos un correo electrónico si estás interesado en que hagamos esto por ti. Tenemos tarifas especiales para organizaciones sin fines de lucro.

  9. Esta es una función genial.  Hay varias situaciones en las que esto es lo que necesitas hacer.
     
     
    PD
    Este sitio web tiene uno de mis diseños favoritos.  El #IBCT se trata de encontrar al mejor bloguero del mundo. Tu sitio web ha llegado a las semifinales.

Deja una respuesta

Gracias por elegir dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de comentarios, y tu dirección de correo electrónico NO será publicada. Por favor, NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.