L’ensemble des fonctions fournies et conçues pour être appelées directement dans les fichiers de thème, sont appelées des template tags. Ces fonctions de WordPress peuvent avoir plusieurs utilisations :
- afficher un contenu sur une page ;
- vérifier une condition ;
- récupérer une information globale comme le titre du site ou son adresse.
Par exemple la fonction wp_title() se charge de calculer la valeur du texte présent dans la balise<title>
<div><?php dynamic_sidebar('footer_texte');?></div> /* l id qui se trouve dans functions.php*/
<?php wp_nav_menu(array(
'theme_location' => 'main_menu'
'menu_class => 'classe1 classe2'
));`
Les template tags permettent aussi d'appeler des portions de code affichées sur de nombreuses pages, comme c'est le cas de l'en-tête et du pied de page, présents sur l'ensemble du site.
<?php get_header() ?>
/* Ici s insère le contenu principal de la page */
<?php get_footer() ?>
Début de la boucle :
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
Fin de la boucle :
<?php endwhile; else: ?>
<p><?php _e('Désolé, aucun post ne répond à vos critères.'); ?></p>
<?php endif; ?>
Exemple
<?php if(have_post()) {
while (have_post()) : the post;
?>
<div><?php the_title(); ?><?php the_author();?></div>
<?php endwhile; } ?>
- the_post() : on parcourt la boucle des différents articles
- the_title() : le titre de l'article
- the_author() : l'autheur de l'article
- the_content() : le contenu de l'article
- next_post_link() / previous_post_link() : article suivant / précédent
- the category() : La catégorie de l'article
Si le post fait partie d'une catégorie :
<?php if ( in_category('3') ) { ?>
<div class="post-cat-three">
<?php } else { ?>
<div class="post">
<?php } ?>
/* OU */
<?php if ( in_category('3') ) continue; ?>
<div><?php the_title(); ?></div>
<?php endwhile; else: ?>
<p>Rien trouvé</p>
<?php endif; ?>
Par exemple un filtre si le titre est trop long
function truncate_long_title($title)
{
if (strlen($title) > 50) {
$title = substr($title, 0, 50).'...';
}
return $title;
}
add_filter('the_title', 'truncate_long_title');
apply_filters( 'the_title', $title, $id );
Sources :