Vous souhaitez nous contacter, poser des questions / besoins en développement web ?

Contactez-nous

NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.

Créer un shortcode des articles modifiés
Facile

Publié le : 04 mars 2023 - Modifié le : 4 mars 2023

Temps de lecture : 4 minutes, 0 seconds - 128 mots

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&#39;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&#39;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]' ); ?>

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>