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 Query Post WordPress
Intermédiaire

---- Cet article a été modifié : 3 janvier 2021

Créer un Shortcode Query Post WordPress :
Dans ce tutoriel nous allons donc créer un Shortcode qui va englober et donner le résultat d’une requête WordPress.

Nous allons pour ça créer un add_shortcode qui va donc contenir en paramètre le nom du shortcode et le nom de la fonction.
Ici dans cet exemple, nous appelons par requête un post type vidéos classé par nombre de likes.

Nous avons edité en même temps dans le shortcode le get option si vous avez des options. Ensuite nous exécutons le new WP_Query.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Creation du shortcode permettant de lister la liste des videos classées par nombre de likes
add_shortcode( 'viavideoslikes', 'via_videos_list_likes_shortcode' );
function via_videos_list_likes_shortcode( $atts ) {
	ob_start();
	$options = get_option('via_video_name');
	$query = new WP_Query( array(
		'post_type' => 'viavideos',
		'meta_key' => '_post_like_count',
		'orderby' => 'meta_value_num',
                'order' => 'DESC',
		'posts_per_page' => -1,
		) );
	if ( $query->have_posts() ) { ?>
 
 
	<!--?php while ( $query-&gt;have_posts() ) : $query-&gt;the_post(); ?-->
 
 
        // Afficher ici votre contenu dynamique dans vos contenants div
 
 
	<!--?php endwhile; wp_reset_postdata(); ?-->
	<!--?php $myvariable = ob_get_clean();
	return $myvariable;
	}
}
 
&lt;/pre&gt;
&lt;p&gt;Créer une page et afficher le shortcode de cette facon. &lt;/p&gt;
&lt;pre lang="php" line="1"&gt;
[viavideoslikes]
&lt;/pre&gt;
&lt;p&gt;Ou dans une page template.&lt;/p&gt;
&lt;pre lang="php" line="1"&gt;
&lt;?php echo do_shortcode('[viavideoslikes]'); ?-->

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>