J'ai un type de message personnalisé "Email", où le titre du message sera toujours une adresse électronique, c'est-à-dire: [email protected]
Le problème que je rencontre est le "@" est supprimé dans le permalien: ../ exampledomain-com
Je voudrais qu'il soit sauvegardé sous: ../ example-domain-com
Remplacer le "@" par un "-"
J'ai essayé ce qui suit à partir d'ici , mais comme le verra rapidement quelqu'un de plus informé, cela ne s'applique pas au permalien:
function at_to_dash($title) {
return str_replace('@', '-', $title);
}
add_filter('sanitize_title', 'at_to_dash');
Assurez-vous simplement que votre filtre tourne avant celui que Wordpress applique lui-même - ajoutez une priorité de 9:
add_filter( 'sanitize_title', function( $title ) {
if ( FALSE !== strpos( $title, '@' ) ) {
$title = str_replace( '@', '-', $title );
}
return $title;
}, 9 );
Usage:
echo sanitize_title( '[email protected]' );
Sortie:
mytitle-example-org