Créer un shortcode des articles modifiés

Version audio de cet article
Dans ce tutoriel, nous allons créér un shortode permettant d’afficher les derniers articles ou type d’article.
Dans notre exemple, nous allons afficher les articles modifiés il y a moins de 15 jours.
Cependant, nous allons avant tout afficher les derniers articles publiés il y a moins de quinze jours. Ensuite, nous peaufinerons notre requête pour les articles modifiés.
Afficher les derniers articles publiés - de 15 jours
/**************************** Last Posts 15 days ********************************/
add_shortcode( 'lastaddoposts', 'addo_list_posts_publied' );
function addo_list_posts_publied(){
$date_range = strtotime ( '-15 day' );
// Custom WP query query
$args = array(
'post_type' => array('post'),
'post_status' => 'publish',
'order' => 'DESC',
'date_query' => array(
array(
'after' => array(
'year' => date('Y', $date_range ),
'month' => date('m', $date_range ),
'day' => date('d', $date_range ),
),
)
)
);
$query = new WP_Query( $args );
echo '<ul style="padding:0">';
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
echo '<div class="col-md-3" style="display:inline-block;">';
echo '<li style="position:relative">';
echo '<a style="display:block;background-color: #490b3d;padding: 10px 25px;color: white;" href="' . get_the_permalink() . '">';
echo the_title();
echo'</a>';
echo '<span style="padding:0px 5px;background:#f1b814;color:white;position:absolute;top:-10px;right:0;font-size:11px">' . get_the_time('d-m-Y') . '</span>';
echo '</li>';
echo '</div>';
}
}
else {
echo 'Il n'y a eu aucune publication ces dernières semaines';
}
wp_reset_postdata();
echo '</ul>';
}Shortcode dans les pages
[lastaddoposts]
Shortcode dans les templates
<?php echo do_shortcode( '[lastaddoposts]' ); ?>
Nous allons maintenant corriger notre requête et afficher les derniers articles modifiées il y a moins de quinze jours.
Afficher les derniers articles modifiés - de 15 jours
/**************************** Last Posts modified 15 days ********************************/
add_shortcode( 'postsaddomodified', 'addo_list_posts_modified' );
function addo_list_posts_modified() {
// query args
$args = array(
'posts_per_page' => '10',
'post_type' => 'post',
'post_status' => 'publish',
'orderby' => 'modified',
'order' => 'DESC',
'ignore_sticky_posts' => '1',
'caller_get_posts' => 1,
'date_query' => array(
'relation' => 'OR',
array(
'column' => 'post_date',
'after' => '-1 days'
),
array(
'column' => 'post_modified',
'after' => '-15 days'
)
)
);
// query
$updated = new WP_Query($args);
?>
<ul style="padding:0">
<?php if ( $updated->have_posts() ) : ?>
<?php while ( $updated->have_posts() ) : $updated->the_post(); ?>
<div class="col-md-3" style="display:inline-block;padding:0px">
<li style="position:relative">
<a style="display:block;background-color: #490b3d;padding: 10px 25px;color: white;margin:0 0 10px 0" href="https://famillebreboin.ca/photos/">
<?php the_title(); ?>
</a>
<span style="padding:0px 5px;background:#f1b814;color:white;position:absolute;top:-10px;right:0;font-size:11px">
<?php get_the_time('d-m-Y'); ?>
</span>
</li>
</div>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else : ?>
<?php echo 'Il n'y a eu aucun album mis à jour'; ?>
<?php endif; ?>
</ul>
<?php }Shortcode dans les pages
[postsaddomodified]
Shortcode dans les templates
<?php echo do_shortcode( '[postsaddomodified]' ); ?>