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
Hébergement Web Canada

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

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

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>