Shortcode

S

« Retour à la page du cours

WordPress a introduit, à la version 2.5, la notion de shortcode.  Un shortcode permet d’insérer un contenu dynamique dans une section de contenu (page ou article) sous le même principe qu’une macro.  La syntaxe de base d’un shortcode permettant d’afficher la date de dernière modification d’un article ou d’une page serait la suivante:

[date-derniere-modif]

Il s’agit donc au minimum d’un mot (ou groupe de mots) encadré par des crochets.  L’aspect « dynamique » vient du fait qu’on ne veut pas avoir à modifier la date de dernière modification de la page à chaque fois qu’une modification est faite.  Il serait plus pratique de laisser WordPress aller chercher la date à laquelle le contenu a été sauvegardé et en faire l’affichage automatiquement.

Il est possible, comme en HTML, d’ajouter des attributs au shortcode.  Par exemple:

[date-derniere-modif format="Y-m-d H:i:s" prefix="Dernière modification: "]

Dans ce cas-ci, il a été décidé que l’attribut format permettrait de spécifier le format d’affichage de la date.  Si aucun format n’est spécifié, le shortcode utilisera par défaut le format spécifié dans les réglages du site.  L’attribut prefix permet de définir le texte à afficher devant la date.

Résultat sans attribut:
[date-derniere-modif]

Résultat avec attributs prefix et format:
[date-derniere-modif format=»Y-m-d H:i:s» prefix=»Dernière modification: «]

 

Il ne reste plus qu’à coder le tout dans une extension!

Et voici maintenant le code nécessaire à la création de notre shortcode:

<?php
/**
 * Plugin Name: Date Derniere Modif
 * Plugin URI: https://www.maximejobin.com/
 * Description: Permet d'afficher la date de dernière modification d'un article ou d'une page
 * Version: 1.0
 * Author: Maxime Jobin
 * Author URI: https://www.maximejobin.com
 * License: GPL2
 */

// Création du shortcode
add_shortcode( 'date-derniere-modif', 'ddm_shortcode' );

// Fonction exécutant le shortcode
function ddm_shortcode ( $atts ) {

	extract( shortcode_atts( array(
		'format' => get_option('date_format') . ' ' . get_option('time_format'),
		'prefix' => '',
	), $atts ) );

	return $prefix . get_the_modified_time($format);
}

 

« Retour à la page du cours

Ajouter un commentaire