[Syntaxe PHP] plusieurs classes personnalisées pour body_class (Créer un compte)

  • Statut : non résolu
  • Ce sujet contient 4 réponses, 2 participants et a été mis à jour pour la dernière fois par Interned, le il y a 12 années.
5 sujets de 1 à 5 (sur un total de 5)
  • Auteur
    Messages
  • #514397
    Interned
    Membre
    Chevalier WordPress
    229 contributions

    Bonjour,

    Ce code de TwentyEleven modifié :

    function monsite_body_classes( $classes ) {

    if ( ! is_multi_author() )
    $classes[] = ‘classe1’;

    return $classes;
    }
    add_filter( ‘body_class’, ‘monsite_body_classes’ );

    Aucun souci, de cette façon, il fonctionne. Comment ajouter cependant une deuxième classe personnalisée à la troisième ligne ? J’ai tenté « ‘classe1’, ‘class22’; » en supposant que c’était un array vu la syntaxe $classes[].

    Or ça ne fonctionne pas tout à fait ainsi… Est-ce que $classes[] équivaut à $classes = ou est-ce encore autre chose (car en changeant la syntaxe et en mettant $classes= , je n’ai plus d’erreur PHP, bien que ça ne ressemble pas tout à fait au résultat souhaité au niveau de l’affichage (mais c’est sans doute à cause du thème utilisé) ?

    #853547
    Guy
    Participant
    Maître WordPress
    14817 contributions

    soit tu fait un tableau et tu concatènes les deux, soit tu ajoutes un nouvel élément

    if ( ! is_multi_author() ) {
    $classes[] = ‘classe1’;
    $classes[] = ‘classe2’;
    }

    if ( ! is_multi_author() ) {
    $classes = array_merge($classes, array(‘classe1’, ‘classe2’));
    }

    tu peux aussi te servir de array_push, bon… tu as l’embarras du choix 🙂

    #853548
    Interned
    Membre
    Chevalier WordPress
    229 contributions

    OK, merci Guy. Donc $classes[]= ‘classe1’ équivaut à $classes= mais seulement pour une valeur ? Il s’agit donc bien d’une autre façon d’écrire ?

    A part php.net, y a-t-il un autre site que tu pourrais recommander, afin de s’y retrouver un peu dans les différentes fonctions ? Car le souci, c’est que souvent on n’a pas les fonctions en tête, comme par exemple « array_push » ou « array_merge » ?

    #853549
    Guy
    Participant
    Maître WordPress
    14817 contributions

    euh… $classes= est ce que cela marche!!!!

    #853550
    Interned
    Membre
    Chevalier WordPress
    229 contributions

    J’ai testé oui, ça fonctionne, en n’oubliant pas le « ; » à la fin de la ligne, évidemment.

5 sujets de 1 à 5 (sur un total de 5)
  • Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.