Scénario: J'ai un modèle de partie loop-product.php
que j'appelle de home.php
, taxonomy.php
et un modèle de page template-products.php
. À l'intérieur de cette partie de modèle, le fichier loop-product.php
définit le nombre de colonnes en vérifiant is_home()
les conditions.
Problème: Le conditionnel fonctionne bien pour la page d'accueil, la page de taxonomie mais reste défini sur le modèle de page. Sur le produit, j'ai ajouté une classe columns-$cols
afin que vous puissiez la vérifier sur le site. Son affichage columns-4
sur la page de modèle de produit où il est supposé afficher columns-3
.
<?php
$j = 1;
if(is_home()){
$cols = 4;
}else{
$cols = 3;
}
if(have_posts()):while(have_posts()):the_post();
// getting thumbnail image here
?>
<div class="product-item <?php echo 'columns-'.$cols ?>" <?php if($j%$cols == 0){ echo 'style="margin-right:0;"'; } ?>>
<a href="<?php the_permalink(); ?>">
<span class="product-img">
<img src="<?php echo $img[0]; ?>" width="100" height="75" alt="<?php the_title(); ?>">
</span>
<span class="desc">
<h2><?php the_title(); ?></h2>
<?php
if($price): ?>
<span class="price">Price: <?php echo $price; ?> BDT</span>
<?php endif; ?>
</span>
</a>
</div>
<?php if($j%$cols == 0){ echo '<div class="clear"></div>'; } ?>
<?php $j++; endwhile; endif; ?>
<div class="clear"></div>
Consultez le site ici http://computercarebd.com/ Appréciez votre temps. Merci!
Code de modèle de page: http://Pastebin.com/CzRgzzVF
Pourquoi ne pas utiliser la classe body pour cibler ces éléments avec CSS. Vous pouvez faire quelque chose comme ceci et rendre votre PHP un peu plus propre.
.product-item{width:33%;}
.home .product-item{width:25%;}