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

Afficher les articles aimés par l'utilisateur - Compte Utilisateur
Intermédiaire

---- Cet article a été modifié : 20 février 2021

Nous allons dans ce tutoriel afficher les articles aimés par l’utilisateur dans son compte user. Nous allons effectuer donc une requête, qui va nous permettre d’afficher les articles quand le post meta like et sa valeur sont égaux à l’ID de l’auteur WordPress.

Bien sur pour que cette fonction marche il faut un système qui nous permette de faire liker les articles par l’utilisateur. (Comme celui-ci)

Il faut aussi que vous proposiez un espace membre. Ne pas oubliez les conditions dans la page profil de l’utilisateur.

<?php 
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly 
if ( is_user_logged_in()) : 
global $current_user; 
wp_get_current_user();
$user = $current_user->ID; 
?>

Afficher les articles aimés par l’utilisateur

Dans un endroit de son compte utilisateur on affiche sa liste d’articles qu’il a aimé récemment. Construisons notre requête. Nous allons d’abord récupérer l’ID de l’utilisateur get_current_user_id() par la session get_currentuserinfo() de WordPress. Ensuite la variable WordPress $types va récupérer le type de Post demandé (Dans l’exemple c’est Listings. Le changer par votre Post Type ou par post pour vos articles). On n’en affiche 10 et on n’effectue une meta_query qui correspondra à l’ID de l’auteur et à la clé du post meta.

Puis nous effectuons notre boucle. Nous donnons un classement incrémenté avec le $i. Voici notre requête.
(La clé _user_liked doit être changée par votre clé post meta correspondante au j’aime)

<?php
	$author_id = get_current_user_id();
	$types = 'listings';
	$args = array(
	  'numberposts' => '10',
	  'post_type' => $types,
	  'meta_query' => array (
		array (
		  'key' => '_user_liked',
		  'value' => $author_id,
		  'compare' => 'LIKE'
		)
	  ) ); 
	$like_query = new WP_Query( $args );
	if ( $like_query->have_posts() ) :	?>
	<ul class="user-likes">
		<?php $i = 1; while ( $like_query->have_posts() ) : $like_query->the_post(); ?>
			 <li>
				 <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
				 <?php echo $i; ?> <?php _e('-'); ?>
				 <?php the_title(); ?>
				</a>
			</li>
		<?php $i++; endwhile; ?>
	</ul>
	<?php else : ?>
	<p><?php _e( 'Pas de J&#39;aime', 'via-entreprises' ); ?></p>
	<?php 
	endif; 
	wp_reset_postdata(); 
?>

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

Leave a Reply

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>