Tutorial: Lista de últimos artículos modificados sin plugins

  • Autor Autor Lopezito
  • Fecha de inicio Fecha de inicio
Lopezito

Lopezito

Zeta
Diseñador
Verificación en dos pasos activada
Verificado por Whatsapp
Cómo obtener los últimos artículos actualizados

Buenos días.
En este tutorial les enseñare a hacer un simple listado de los últimos artículos actualizados(modificados) sin necesidad de agregar plugins, esto les puede ser útil a quienes tengan páginas al estilo Softonic.​

1- Ir al editor de themes y al archivo functions.php, y agregan el siguiente código:
PHP:
<?php
function ultimosactualizados(){

$cpost = 10; // Cantidad de posts a mostrar
$cletras = 30; // Cantidad de letras a mostrar en el extracto del post

?>
<!-- Ultimos actualizados por Lopezito -->
<section class="aposts">
<h3>&Uacute;ltimos actualizados.</h3>
<?php

query_posts(array('posts_per_page' => $cpost, 'orderby' => 'modified', 'order' => 'DESC'));
while ( have_posts() ) : the_post();

?>

<article class="apost">
<a href="<?php the_permalink(); ?>" title="Enlace permanente hacia <?php the_title_attribute(); ?>"><h5><?php the_title(); ?></h5></a>
<section class="acont">
<a href="<?php the_permalink(); ?>" title="Enlace permanente hacia <?php the_title_attribute(); ?>"><?php the_post_thumbnail(); ?></a>
<?php echo substr(get_the_excerpt(),0,$cletras); ?>...
</main>
</article>

<?php

endwhile;
wp_reset_query();

?>
</section>
<!-- / Ultimos actualizados por Lopezito -->
<?php

}
?>
2- Luego en su archivo de estilos(style.css), agregan:

Insertar CODE, HTML o PHP:
.aposts{padding:5px;margin:5px 0}
.aposts h3{font-weight:100;padding:10px;color:#FFF;font-size:19px;text-shadow:1px 1px rgba(88, 88, 88, 0.33);display:inline-block;background:#74B2CF!important;letter-spacing:1px}
.apost{background:#fff!important;border-top:1px solid #eee!important}
.apost:nth-child(2n+2){background:#F4FBFF!important}
.apost a h5{text-decoration:none;font-size:15px;font-weight:100;text-shadow:1px 1px #fff;color:#444;margin-bottom:5px;padding:5px}
.acont{margin:5px;overflow:hidden;color:#444;font-style:italic}
.acont a img{float:left;width:48px!important;height:48px!important;border:none!important;margin:5px 15px;box-shadow:0 0 8px #FFF}

3- Para implementar esto donde queramos vamos a donde se nos ocurra ponerlo(ej: index.php) y colocamos:

PHP:
<?php ultimosactualizados(); ?>

Cualquier duda, consulten.

Un saludo.

PD: Agregaré un demo cuando tenga disponible mi hosting :/
 
Última edición:
muy bueno!!! bien por [MENTION=18661]Lopezito[/MENTION]
 
jajaj muy bueno! Justo era lo que estaba buscandooooo!! vamoss :encouragement::encouragement:
 
¿Y para mostrar los últimos artículos actualizados por Categoría/Tags?¿Es posible a partir de este código?
 
excelente aporte!!!!!!!!!!:encouragement:
 
¿Y para mostrar los últimos artículos actualizados por Categoría/Tags?¿Es posible a partir de este código?

Sí en la línea:

PHP:
query_posts(array('posts_per_page' => $cpost, 'orderby' => 'modified', 'order' => 'DESC'));


PHP:
<?php
// Si queres agregarlo a category.php:

$cat_ID = get_query_var('cat');
query_posts(array('posts_per_page' => $cpost, 'orderby' => 'modified', 'order' => 'DESC', 'cat' => $cat_ID));

// Si queres agregarlo en tag.php

$tag_ID = get_query_var('tag');
query_posts(array('posts_per_page' => $cpost, 'orderby' => 'modified', 'order' => 'DESC', 'tag_id' => $tag_ID));

// Si no, podes agregar manualmente los datos

$cat_ID = array(1,2,3); // ID's de las categorías
query_posts(array('posts_per_page' => $cpost, 'orderby' => 'modified', 'order' => 'DESC', 'cat' => $cat_ID));

$tag_ID = array(1,2,3); // ID's de las tags
query_posts(array('posts_per_page' => $cpost, 'orderby' => 'modified', 'order' => 'DESC', 'tag_id' => $tag_ID));

?>
 
Última edición:
Genial! Muchas gracias por el tuto
 
Muchas gracias, buen aporte 🙂
 
buen aporte 🙂
 
oye capo, muchas gracias por compartir! mira tengo una duda hay forma de que en la home pueda mostrar los posts normalmente, pero si un post antiguo se actualiza, inemdiatamente pase al home de la web de nuevo, sin necesidad de modificar la fecha?
te agradeceria cualquier respuesta. saludos y gracias por compartir
Sí en la línea:

PHP:
query_posts(array('posts_per_page' => $cpost, 'orderby' => 'modified', 'order' => 'DESC'));


PHP:
<?php
// Si queres agregarlo a category.php:

$cat_ID = get_query_var('cat');
query_posts(array('posts_per_page' => $cpost, 'orderby' => 'modified', 'order' => 'DESC', 'cat' => $cat_ID));

// Si queres agregarlo en tag.php

$tag_ID = get_query_var('tag');
query_posts(array('posts_per_page' => $cpost, 'orderby' => 'modified', 'order' => 'DESC', 'tag_id' => $tag_ID));

// Si no, podes agregar manualmente los datos

$cat_ID = array(1,2,3); // ID's de las categorías
query_posts(array('posts_per_page' => $cpost, 'orderby' => 'modified', 'order' => 'DESC', 'cat' => $cat_ID));

$tag_ID = array(1,2,3); // ID's de las tags
query_posts(array('posts_per_page' => $cpost, 'orderby' => 'modified', 'order' => 'DESC', 'tag_id' => $tag_ID));

?>
 
oye capo, muchas gracias por compartir! mira tengo una duda hay forma de que en la home pueda mostrar los posts normalmente, pero si un post antiguo se actualiza, inemdiatamente pase al home de la web de nuevo, sin necesidad de modificar la fecha?
te agradeceria cualquier respuesta. saludos y gracias por compartir

Primero, perdona la tardanza.

Segundo, no comprendo bien lo que me preguntas, según he entendido lo que has dicho es lo que hace este código, mostrar un listado según la fecha de la última modificación en el post, por ende, el post antiguo que modificaste, pasaría a estar antes del último creado/modificado previamente al mismo.

Un saludo.
 
oye capo, muchas gracias por compartir! mira tengo una duda hay forma de que en la home pueda mostrar los posts normalmente, pero si un post antiguo se actualiza, inemdiatamente pase al home de la web de nuevo, sin necesidad de modificar la fecha?
te agradeceria cualquier respuesta. saludos y gracias por compartir

No entiendo si es lo que quieres, pero por si a alguno le va de ayuda:

Para mostrar los últimos posts deberás cambiar el 'orderby':

Insertar CODE, HTML o PHP:
query_posts(array('posts_per_page' => $cpost, 'orderby' => '[B][COLOR="#008000"]modified[/COLOR][/B]', 'order' => 'DESC'));
while ( have_posts() ) : the_post();

por esto:

Insertar CODE, HTML o PHP:
query_posts(array('posts_per_page' => $cpost, 'orderby' => '[B][COLOR="#008000"]date[/COLOR][/B]', 'order' => 'DESC'));
while ( have_posts() ) : the_post();

Lo que haces es decir que ordene la lista por fecha (date), en vez de por modificación (modified) del post.

Espero que sea de ayuda. Saludos.
 

Temas similares

Lopezito
Respuestas
43
Visitas
4K
Usuario eliminado 113738
U
Atrás
Arriba