Fonctions de WordPress

F

« Retour à la page du cours

En utilisant WordPress, vous avez accès à une foule de fonctions en PHP qui permettent de vous simplifier la vie.  En voici quelques-unes:

Structure

Voici quelques fonctions PHP permettant de créer la structure d’une page web dans WordPress:

get_header()
Permet de récupérer le contenu du fichier header.php d’un thème et de l’afficher dans la page web qui sera retournée au navigateur.

get_sidebar()
Permet de récupérer le contenu du fichier sidebar.php d’un thème et de l’afficher dans la page web qui sera retournée au navigateur.  Ce fichier ne doit PAS être modifié pour y ajouter des widgets.  L’ajout de widgets se fait via la section d’administration de votre site.

get_footer()
Permet de récupérer le contenu du fichier footer.php d’un thème et de l’afficher dans la page web qui sera retournée au navigateur.

get_template_part( ‘param1’, ‘param2’ )
Permet de récupérer le contenu d’un fichier « param1param2.php » et de l’afficher dans la page web qui sera retournée au navigateur.

 

Contenu

Voici quelques fonctions PHP permettant de manipuler le contenu d’un modèle dans WordPress:

  • the_title() : Affiche le titre d’une page ou d’un article.
  • the_content() : Affiche le contenu d’une page ou d’un article.

 La liste des fonctions de WordPress se compte en centaines.  Évidemment, elle ne seront pas toutes listées sur cette page.  Sachez qu’il est possible de manipuler autant ce qui se passe du côté front end que du côté back end.

Gestion des image à la une

Afin de pouvoir ajouter des images à la une dans un thème, il faut tout d’abord spécifier à WordPress que votre thème supporte cette fonction.  Dans votre fichier functions.php, assurez-vous de la présence d’une des lignes suivantes (selon le cas):

// Permet les images à la une dans toutes les sections
add_theme_support( 'post-thumbnails' );

// Permet les images à la une uniquement dans les articles (post)
add_theme_support( 'post-thumbnails', array( 'post' ) );

// Permet les images à la une uniquement dans les pages (page)
add_theme_support( 'post-thumbnails', array( 'page' ) );

// Permet les images à la une dans les articles (post) et les films (movie)
// advenant le cas où votre site supporte les films.
add_theme_support( 'post-thumbnails', array( 'post', 'movie' ) );

Vous pouvez consulter la section Post Thumbnails pour l’ajout d’éléments supportés par le thème dans la documentation de WordPress.

Il est également possible de créer des tailles prédéterminées pour les images qui seront utilisées sur notre site:

// Taille des images
add_image_size( 'mj-post-thumbnail', 100, 100 ); // Thumbnail
add_image_size( 'mj-post-image', 680, 300 );     // Image pleine grandeur

Puis, dans le modèle correspondant aux images à la une que vous avez choisi de supporter (post ? page ? movie ? etc), vous devez ajouter les lignes suivantes:

<?php 
// Si une image à la une a été définie
if ( has_post_thumbnail() ) {
	// Afficher l'image à la une
	the_post_thumbnail();
} 
?>

// On peut également spécifier la taille de l'image à afficher:
<?php 
// Si une image à la une a été définie
if ( has_post_thumbnail() ) {
	// Afficher l'image à la une
	the_post_thumbnail( 'mj-post-thumbnail' );
} 
?>

Vous pouvez également visualiser les tailles par défaut qui sont supportées.

La fonction the_post_thumbnail prend aussi des paramètres afin de définir la taille de l’image à retourner.  Vous pourrez obtenir plus d’informations dans la page de la fonction: the_post_thumbnail().

 

Création de zones de sidebar

La création d’une zone de sidebar permet d’y ajouter des widgets via Apparence > Widgets.  Pour ajouter une zone dans votre thème, vous devez tout d’abord définir cette zone dans votre fichier functions.php afin de mentionner à WordPress de créer les éléments nécessaires dans la section d’administration.  Par la suite, nous gérerons l’affichage dans votre thème.

Dans un premier temps, il faut définir la nouvelle zone avec le code suivant (qui doit être adapté):

register_sidebar(
	array(
        'name' => 'Nom de la zone',			// Nom affiché dans l'admin
        'id' => 'id-de-la-zone',			// ID utilisé pour l'affichage
        'description' => 'Description',		// Description affichée dans l'admin
        'class'         => '',				// Classe CSS de la zone (facultatif)
        'before_title' => '<h1>',			// Code avant le titre
        'after_title' => '</h1>',			// Code après le titre
		'before_widget' => '',				// Code avant l'affichage du widget	
		'after_widget'  => ''				// Code après l'affichage du widget
    )
);

Par la suite, vous devez ajouter les widgets désirés dans votre nouvelle zone.  Cette étape est importante puisque si vous n’ajoutez aucun widget, vous pourriez avoir l’impression que rien ne fonctionne puisqu’aucun widget ne sera affiché.  Or, c’est tout à fait normal dans ce cas!

Puis, pour afficher, vous devez ajouter la fonction dynamic_sidebar à l’endroit où vous souhaitez que les widgets soient affichés.  Par exemple, vous pourriez ajouter le code suivant dans le fichier footer.php de votre thème:

<ul id="sidebar">
	<?php dynamic_sidebar( 'id-de-la-zone' ); ?>
</ul>

Attention: remarquez que le texte id-de-la-zone est identique au contenu du champ id mentionné à la première étape.  C’est ainsi que WordPress fait le lien entre la zone de sidebar récemment créée et ce qui doit être affiché dans votre thème.

 

Balises sous la boite de commentaire

Pour retirer les balises HTML sous la boite de commentaire, vous pouvez le faire de plusieurs façons.  L’une d’elle est de modifier le fichier comments.php de votre thème.

Vous devez repérer la ligne contenant le code suivant:

comment_form();

… et le modifier pour ceci:

comment_form(array('comment_notes_after' => ''));

Sauvegarder le fichier et visitez la page d’un article pour que les balises ne soient plus présentes.

« Retour à la page du cours

Ajouter un commentaire