Dans WordPress tous les posts ont un slug unique. Un slug est tout simplement un nom utilisable dans les adresses (url-friendly).
Pandant le developpement de votre thème, vous aurez peut-être besoin d’une fonction comme the_slug() ou bien get_the_slug().
Voici deux manières de coder ces fonctions. D’abors la traditionnelle avec les tableaux PHP:
$post_data = get_post($postID, ARRAY_A); $slug = $post_data['post_name'];
Et une méthode plutôt efficace proposée par Josh Staufer utilisant permalink() et la fonction PHP basename(). C’est personellement celle que j’utilise.
$slug = basename(get_permalink());
Snippet pour créer the_slug()
Sur le site snipplr.com vous pouvez trouver une fonction interessante qui permet de créer ‘the_slug()‘. Tout ce dont vous avez besoin c’est copier le code suivant dans votre functions.php.
function the_slug($postID="") { global $post; $postID = ( $postID != "" ) ? $postID : $post->ID; $post_data = get_post($postID, ARRAY_A); $slug = $post_data['post_name']; return $slug; }
Cette fonction est extrêmement efficace parce qu’elle permet l’utilisation de paramêtres, mais pas systématiquement.
- Dans votre boucle, affichez le slug du post courant: <?php echo the_slug(); ?>
- Partout, affichez le slug d’un post particulier: <?php echo the_slug(’23′); ?>
- Partout, récupérez la variable: <?php $slug = the_slug(’23′); ?>