Filtrer les titres de ses pages

Filtrer les titres de ses pages

Pour faire suite à un petit tuto sur  comment « Lister les pages enfants« , ici on va voir comment rendre permanents des titres de pages, c’est à dire créer des titres via functions.php, afin que le client n’aie pas à les taper lors de l’édition d’une page.

A la base le site demande un mot de passe à l’entrée.En fonction de ce mot de passe, l’utilisateur est redirigé vers un groupe de page, mais le menu lui, reste toujours le meme, comme sur l’image.Un utilisateur A, muni d’un mot de page A verra les pages du groupe A.Pareil pour B, C etc…..le contenu change selon l’utilisateur, le menu lui reste le meme.

 

meu page

avec la fonction :

get_post_meta($post->ID,'_wp_page_template',true);

on récupère la page courante.
Dans a fonction, je vais donc vérifier si la page courante est  un certain type de page, ici, ‘page-eleve.php’ ou « page-commande.php » pour ensuite filtrer le titre et inscrire en dur pour chaque page créee sous l’un de ces deux modèles de page, le titre adequate.

function picault_filter_the_title( $title, $id ) {

if ( 'page-eleves.php' == get_post_meta( $id, '_wp_page_template', true ) ) {
return 'Consultez vos photos individuelles';
}
return $title;
}
add_filter( 'the_title', 'picault_filter_the_title', 10, 2 );

function picault_the_title( $title, $id ) {
if ( 'page-commande.php' == get_post_meta( $id, '_wp_page_template', true ) ) {
return 'Imprimez votre commande';
}
return $title;
}
add_filter( 'the_title', 'picault_the_title', 10, 2 );

Maintenant, quelque soit le titre écrit via le backoffice, ou si vous n’en mettez pas du tout, ce sont les titres inscrits en dur via cette fonction qui vont apparaitre en front.L’utilisateur n’a donc plus à les taper, ou se soucier d’eventuelles fautes d’orthographe.

c’est vraiment un cas particulier dans le sens ou on contourne un peu l’utilisation du CMS, c’est utile pour un site ou le menu est constitué de pages privées, et ou ce menu doit toujours etre le meme, quelque soit le groupe de page privées ou l’on se trouve.