Skip to content

Latest commit

 

History

History
executable file
·
131 lines (81 loc) · 2.78 KB

09.boucles appels filtres.md

File metadata and controls

executable file
·
131 lines (81 loc) · 2.78 KB

Appels/ boucles / template tags /filtres

template tags (marqueur de modèle)

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>

Appeler un Widgets

<div><?php dynamic_sidebar('footer_texte');?></div> /* l id qui se trouve dans functions.php*/

Appeler la nav(le menu)

<?php wp_nav_menu(array(
    'theme_location' => 'main_menu'
    'menu_class => 'classe1 classe2'
));`

Les template tags : par ex appeler les fichiers header et footer.php

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() ?>

Boucle pour les posts

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; ?>

Filtres

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');

Appeler le filtre

apply_filters( 'the_title', $title, $id );

Sources :