web-dev-qa-db-fra.com

Masquer metabox en fonction du modèle de page choisi

J'utilise le script JQuery suivant de cette réponse pour basculer l'affichage des métaboxes en fonction du modèle de page sélectionné. L'exemple ci-dessous montre le métabox de l'image sélectionnée lorsque le modèle par défaut est sélectionné:

(function($){
$(function() {

    $('#page_template').change(function() {
        $('#postimagediv').toggle($(this).val() == 'default');
    }).change();

});
})(jQuery);

Ma question peut-être simple est ... Comment obtenir ce code pour afficher uniquement la zone d'image sélectionnée pour mon modèle de page intitulé: Services ?

J'ai essayé simplement de changer le 'default' en 'Services' mais pas de chance.

1
leannekera

value n’est pas la même chose que ce que vous voyez lorsque vous regardez la bascule. Cette partie est pour les humains. Pour voir la valeur, vous devez regarder la source de la page. Si vous avez un modèle créé par template.contact.php, value dans cette zone serait template.contact.php, de sorte qu'il semble que value est le nom du fichier php.

0
s_ha_dum

La valeur de la sélection est définie sur le nom du fichier . Par conséquent, en supposant que le fichier de modèle youf est services.php

jQuery().ready(function($) {

var $featImgDiv = $('#postimagediv');

$('#page_template').change(function() {
    if ( $(this).val() == 'services.php' ) {
      $featImgDiv.show();
    } else {
       $featImgDiv.hide();
    }
}).change();

});
1
gmazzap