Boîte méta personnalisée WordPress lors de l’ajout/de la modification d’une page avec un certain type de modèle

Publié par Jean-Michel le

Je sais très bien comment ajouter des champs personnalisés aux pages. Cependant, je souhaite que ma boîte méta n’apparaisse qu’une fois que l’utilisateur a sélectionné le modèle « Foo » (filname « foo.php »). J’ai chargé jQuery dans la section admin mais je n’ai pas eu de chance d’essayer d’ajouter une classe personnalisée au conteneur contenant la méta-boîte.

Remarque : Je ne veux pas sélectionner par l’ID de la méta-boîte div car il y aura plusieurs méta-boîtes cachées et je n’aurai aucun moyen de toutes les cacher à la fois sans qu’une classe ne soit attribuée (d’où mon problème).

Solution n°1 trouvée

Ma solution à cela était de créer un div dans chaque méta-boîte personnalisée, puis d’utiliser jquery pour masquer tous les éléments parents de ces divs.

Solution n°2 trouvée

Ce n’est pas une solution complète, mais cela pourrait vous aider à démarrer dans la bonne direction :

Dans le code qui affiche la boîte de méta, vous pouvez utiliser la fonction get_post_meta pour obtenir des informations sur le modèle utilisé par la page actuelle. Quelque chose comme ça:

if( get_post_meta($post_id, '_wp_page_template', true) != 'foo.php' ) return;

L’inconvénient est que l’utilisateur doit d’abord choisir le modèle, puis enregistrer la page une fois afin de recharger la page d’administration avec les bons paramètres.

Sinon, je pense que la solution que vous décrivez en utilisant jQuery pour masquer les méta-boîtes est la meilleure façon de le faire.

Bonne chance

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *