Boîte méta personnalisée WordPress lors de l’ajout/de la modification d’une page avec un certain type de modè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
0 commentaire