La technique des thèmes enfants sous WordPress ou child theme en anglais, vous permet d’apporter des modifications à un thème parent sans pour autant modifier le code original.
Utilisant cette méthode assez fréquemment, je cherchais un moyen de désactiver – ou du moins de masquer, les modèles de pages issus dudit thème parent sans pour autant supprimer les fichiers sources ; que je vous délivre dans la suite du tutoriel.
Pour rappel, les modèles de pages sous WordPress permettent de bénéficier d’une mise en page différente. Ils sont souvent utilisés dans les thèmes premium pour proposer des pages prêtes-à-l’emploi comme les formulaires de contact, les plans de site ou encore les portfolio. Reportez à cette liste de 6 modèles de pages pour WordPress pour en apprendre davantage à leurs sujets.
Ces modèles de page sont présents dans la boite Attributs de la page dans l’éditeur de création de page, sur la partie droite. Ils correspondent automatiquement à un fichier PHP présent dans le dossier du thème dans /wp-content/themes/NOM_DU_THEME/
Ainsi, si je souhaite désactiver le modèle Liens correspondant au fichier template-links.php, je devrais l’ajouter dans la fonction ci-dessous. Cette fonction doit être insérée dans le fichier functions.php de votre thème enfant pour surpasser les réglages du thème parent.
Le principe est donc fort simple : il suffit d’ajouter en fin de code les noms des fichiers PHP à désactiver en les séparant par des virgules.
Retournez ensuite dans l’éditeur de création de page de WordPress pour constater la disparition du modèle dans la liste déroulante.
Le code original est issu du forum WordPress.org et ce ne fut pas évident de trouver une telle information qui soit fonctionnelle sous la dernière version de WordPress. Faites-en bon usage !
bonjour je souhaites supprimer le blog dans le thème twentythirteen merci
Trop marrant de voir mon code pourri réapparaître ici.
Content aussi de voir que ca puisse vous servir.
En espérant qu’une méthode plus propre soit possible prochaine, le filtre serait certainement une bonne solution.
Énorme en effet ! Mais ce code fonctionne bien… Car rien n’existe en natif effectivement.
Merci de l’info ça peut être bien utile. Je regrette que cela ne puisse pas être fait côté PHP, peut-être il faut proposer un filter aux devs WP ?
A bientôt
Bonjour,
Pour masquer un ou plusieurs modèles de page dans ce menu déroulant, j’avais pris l’habitude de simplement supprimer le nom du modèle au tout début de la page template même. Par exemple, j’ai un modèle de page dont le nom est contact.php, j’édite cette page dans le menu Apparence > Editeur, puis je supprime les premières lignes /*Template Name: Contact*/ et la balise d’encadrement php.
Ainsi je conserve la page dans le dossier du thème, n’ajoute aucun code supplémentaire et garde la possibilité d’utiliser le menu déroulant.
Cette méthode entraîne t’elle des complications particulières ?
N’étant qu’un lecteur occasionnel, j’en profite pour vous adresser tous mes remerciements pour votre formidable travail sur WordPress.
Non c’est juste qu’on cherche toujours une technique pour ne pas toucher au thème parent car une mise a jour effacera tout… 😉
… et l’aventure devient tout de suite plus passionnante ainsi ! Merci.
Salem
La vidéo est classée comme privée sur Youtube et ne peut être visionnée.
Corrigé, fichu problème avec YouTube / Google+
Encore un très bon tutoriel que voilà. Pour ma part, j’avais déjà au le souci avec un client et j’avais tout simplement masqué en CSS le système de template. Mais ton code est bien meilleur, surtout que seuls les templates désirés sont retirés, et non pas l’ensemble.
Auparavant, je faisais même bien pire en supprimant directement les templates PHP du thème parent – ce qui casse l’esprit du thème enfant par la suite.
Merci !
Bonsoir,
La vidéo est classée comme privée sur Youtube et ne peut être visionnée.
En principe c’est bon à nouveau…