web-dev-qa-db-fra.com

Comment rendre certains modèles de page visibles uniquement pour l'administrateur

En faisant un site pour un client, j'ai certaines pages que le client ne pourra pas éditer ou supprimer. Ces pages reposent sur des modèles de page spécifiques.

Cependant, je ne veux pas que ces modèles soient disponibles pour le client lors de la création de nouvelles pages. Est-il possible de cacher ces modèles de page dans le menu déroulant Attributs de page lors de la création de nouvelles pages?

Merci

2
INT

Plutôt que de les définir en tant que modèles de page personnalisés, vous avez une alternative.

Utilisez les modèles spécifiques à la page, par exemple pour une page de profil, avec le slug profile, vous pouvez créer un page-profile.php dans votre thème ou vous pouvez utiliser page-21.php21 est l'ID de cette page/de ce message.

3
Tom J Nowell

Désolé, mais ce n'est pas (plus) possible (car le filtre page_template semble avoir été supprimé avec l'introduction de la classe WP_Theme).

La fonction get_templates_dropdown() qui appelle les modèles à l'intérieur de la boîte à méta appelle get_page_templates() qui contient alors cette fonction de générateur:

wp_get_theme()->get_page_templates()

Et cette fonction est sans filtre ni crochet.

0
kaiser