La boucle WP

Wordpress génère en fonction du contexte une variable globale de type tableau $posts.

Ce tableau contient selon le menu sélectionné la ou les pages, l'article ou les articles contenus dans la base de données.

Ce que l'on appelle la boucle WordPress est un while qui fait défiler ce tableau.

Chaque élément de ce tableau est un objet $post (class WP_Post).

Méthode$posts

Modifiez le fichier index.php

1
<?php get_header(); ?>
2
<main>
3
    <?php var_dump($posts); ?>
4
</main>
5
<?php get_sidebar(); ?>
6
<?php get_footer(); ?>

Testez en cliquant sur les différents liens de votre menu.

Méthode$post

Modifiez le fichier index.php

1
<?php get_header(); ?>
2
<main>
3
    <?php if (have_posts()) : while (have_posts()) :
4
            the_post(); ?>
5
            <article>
6
                <?php var_dump($post); ?>
7
            </article>
8
    <?php endwhile;
9
    endif; ?>
10
</main>
11
<?php get_sidebar(); ?>
12
<?php get_footer(); ?>

have_posts() : vérifie que $posts n'est pas vide.

the_post() : met à jour $post avec le post suivant.

while(...) : ... endwhile() ; : WP utilise plus volontiers l'écriture : que {}

Testez en cliquant sur les différents liens de votre menu.

DéfinitionLes fonctions

Il existe différentes fonctions qui permettent d'afficher facilement et proprement le contenu de $post :

1
<?php
2
the_ID(); // affiche l'id
3
the_title(); // affiche le titre
4
the_author(); // affiche l'auteur
5
the_content(); // affiche le contenu
6
the_excerpt(); // affiche l'extrait
7
the_permalink(); // affiche l'url du lien
8
the_post_thumbnail(); // affiche l'image à la Une
9
the_time(); // affiche la date
10
the_category(); // affiche la ou les catégories sous forme de liens
11
the_tags(); // affiche les étiquettes sous forme de liens

Il existe différentes fonctions qui permettent de récupérer facilement et proprement le contenu de $post :

1
<?php
2
get_the_ID(); // récupère l'id
3
get_the_title(); // récupère le titre
4
get_the_author(); // récupère l'auteur
5
get_the_content(); // récupère le contenu
6
get_the_excerpt(); // récupère l'extrait
7
get_permalink(); // récupère l'url du lien
8
get_the_post_thumbnail(); // récupère l'image à la Une
9
get_the_time(); // récupère la date
10
get_the_category(); // récupère la ou les catégories sous forme	de liens
11
get_the_tags(); // récupère les étiquettes sous forme de liens

Pour d'autres fonctions voir le codex -> https://codex.wordpress.org/fr:Accueil

MéthodeExemple

Modifiez le fichier index.php

1
<?php get_header(); ?>
2
<main>
3
    <?php if (have_posts()) : while (have_posts()) :
4
            the_post(); ?>
5
            <article>
6
                <?php the_title('<h2><a href="' .
7
                    esc_url(get_permalink()) . '">', '</a></h2>');
8
                ?>
9
                <?php the_content(); ?>
10
            </article>
11
    <?php endwhile;
12
    endif; ?>
13
</main>
14
<?php get_sidebar(); ?>
15
<?php get_footer(); ?>