2017-10-15 6 views
0

Je veux organiser mon message WP avec un poste pleine largeur en haut de la page, puis 3 messages par ligne.php si le compteur est égal à x ou y

J'ai tout afficher, mais il ne me reste plus que 3 instructions avant et après mes colonnes. Je suis sûr que c'est vraiment simple, mais quand j'ai essayé d'utiliser "if ($ counter == 1 | 4 | 7)" j'ai eu une rangée pour chaque div. Existe-t-il un moyen plus concis d'écrire ceci et d'obtenir le même résultat?

<?php if <?php if ($counter == 1) : ?>: ?> 

    <div class="row"><!-- .row - 1 --> 

<?php elseif ($counter == 4) : ?> 

    <div class="row"><!-- .row - 4--> 

<?php elseif ($counter == 7) : ?> 

    <div class="row"> <!-- .row - 7 --> 

<?php endif; ?> 

     <div class="col-md-4"> 

     <p>Content</p> 

     </div> 


<?php if ($counter == 3) : ?> 

     </div><!-- .row 3 --> 

<?php elseif ($counter == 6) : ?> 

     </div><!-- .row 6 --> 

<?php elseif ($counter == 9) : ?> 

     </div><!-- .row 9 --> 

<?php endif; ?> 
+0

'si (contre $ == 1 || $ == contre 4 || $ == contre 7)' –

+0

Vous pouvez peut-être utiliser l'opérateur de module, 'si (compteur $ % 3 == 1) 'pour le premier, et égal à zéro sur ce dernier. – Qirel

+0

Espérons que la première ligne est une erreur de copier/coller sinon vous devez le corriger – jeff

Répondre

0

Une autre solution consiste à utiliser in_array (en particulier si les options sont aléatoires et il y en a beaucoup)

if (in_array($counter, [1, 4, 7])) 

Faites également attention que le simple | le symbole est un opérateur au niveau du bit. En savoir plus ici:

http://php.net/manual/en/language.operators.bitwise.php

+0

Merci Michael, c'est exactement ce que je cherchais. – Wilko

0

Essayez d'utiliser modulo de sorte que vous n'avez pas à écrire une condition pour chaque 3. Quelque chose comme:

if ($counter % 3 == 0) 

correspond à tout moment le compteur est un multiple de 3, et vous pouvez modifier le nombre pour correspondre à n'importe quelle condition que vous voulez.

+0

J'avais essayé ceci, mais il a cassé la disposition. Je pense parce que j'avais déjà une colonne pleine largeur ci-dessus. – Wilko

0

Plusieurs instructions dans php sont écrites dans des cas distincts. à savoir

if ($counter == 1 || $counter == 4 || $counter == 7) 

Mais dans votre cas, en utilisant l'opérateur modulo, qui retourne le modulo (reste de la division), il peut être simplifié à:

if ($counter%3 == 1) { 
    // Open div 
} 

if ($counter%3 == 0) { 
    // Close div 
}