sanitize_title( string $title, string $fallback_title = '', string $context = 'save' )
Nettoie et transforme une chaîne en slug qui peut être utilisé dans une url ou comme valeur d'attribut HTML.
Paramètres
$title
(string)requisLa chaîne à nettoyer.
$fallback_title
(string)optionnelUn titre à utiliser si $title est vide.
Valeur par défaut : ''
$context
(string)optionnelL'opération pour laquelle le titre est nettoyé. Quand réglé à 'save', $title passe par la fonction
remove_accents()
.Valeur par défaut : 'save'
Description / Informations supplémentaires
Par défaut la fonction sanitize_title()
enlève les accents et change les underscore (_) et les espaces en tirets (-) à travers le filtre 'sanitize_title'
.
Le contexte 'save' est le plus souvent utilisé quand une valeur est sauvegardée en base de donnée. Le contexte 'query' est utilisé par la fonction sanitize_title_for_query()
quand la valeur est utilisée pour la clause WHERE d'une requête.
Retourne
(string) La chaîne nettoyée.
Déclaration et structure de la fonction sanitize_title()
sanitize_title()
est déclarée dans le fichier wp-includes/formatting.php
à la ligne 2207 :
function sanitize_title( $title, $fallback_title = '', $context = 'save' ) {
$raw_title = $title;
if ( 'save' === $context ) {
$title = remove_accents( $title );
}
/**
* Filters a sanitized title string.
*
* @since 1.2.0
*
* @param string $title Sanitized title.
* @param string $raw_title The title prior to sanitization.
* @param string $context The context for which the title is being sanitized.
*/
$title = apply_filters( 'sanitize_title', $title, $raw_title, $context );
if ( '' === $title || false === $title ) {
$title = $fallback_title;
}
return $title;
}
Fonctions utilisées par sanitize_title()
remove_accents()
Convertit les caractères accentués en caractères au format ASCII.
apply_filters()
Appel les fonctions qui ont été attaché à un filtre (hook).
Hook utilisé par sanitize_title()
sanitize_title
Filtre le titre nettoyé.
Où est utilisée la fonction sanitize_title()
dans le CMS WordPress
Exemple
$new_url = sanitize_title('Est-ce que ce long tire pourrait être celui de ma page');
echo $new_url;
// Affichera : est-ce-que-ce-long-titre-pourrait-etre-celui-de-ma-page
Sources
Codex WordPress : sanitize_title()
Autres fonctions dans le même fichier : wp-includes/formatting.php