Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Caio Kadu

[Resolvido] último item do loop

Recommended Posts

Fala pessoas, tudo bem?

 

Venho aqui fazer essa pergunta, pelo fato do Internet Explorer não aceitar o seletor last-child do css.

 

Para exemplificar o que eu estou falando, acessem por favor: http://www.kdsg.com.br/novo/

 

No Fifrefox, Safari, Chrome, o último item não cai pois eles entendem o seletor, mas já no IE o mesmo não acontece.

 

Então, como não percebo nada de PHP, gostaria de uma ajuda. O meu código é o seguinte:

<?php $jobs = new WP_Query("category_name=portfolio&showposts=4"); ?>
  <?php if($jobs->have_posts()) : ?>
  <?php while($jobs->have_posts()) : $jobs->the_post(); ?>
  <li id="post-<?php the_ID(); ?>">
    <h3><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
        <?php the_title(); ?>
        </a></h3>
    <a href="<?php the_permalink() ?>" class="imagemJobs" title="<?php the_title(); ?>">
      <?php the_post_thumbnail(); ?>
      </a>
    <p><strong>Clientes:</strong> <?php echo get_post_meta($post->ID, 'cliente', TRUE); ?></p>
    <p><strong>Tags:</strong> <?php the_tags('', ', ', ''); ?></p>
  </li>
  <?php endwhile; endif;?>

Como eu poderia fazer para que a cada 3 itens o 4º tivevesse um classe diferente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho algo parecido.

 

Coloque esta função no topo da sua página que está o fólio.

 

<?php
  if($post->post_parent) {
  $children = wp_list_pages //se for cats utilize a func para cats // ("title_li=&sort_column=menu_order&child_of=".$post->post_parent."&echo=0");
  }

  else {
  $children = wp_list_pages //se for cats utilize a func para cats // ("title_li=&sort_column=menu_order&child_of=".$post->ID."&echo=0");
  }
?>

Esta você usa no loop. Se for um item filho ele puxa a class normal se não ele puxa a class da ultima caixa, no caso a que no seu cai..

<div <?php if($children){ ?>class="portfolio_box"<?php } else { ?>class="portfolio_box_last"<?php } ?>>
....
</div>

Use display:table; nessa sua class. É uma forma do IE reconhecer os childrens. Só não tenho certeza se pode ser aplicada para o seu caso, mas no meu funcionou.

 

O meu loop no caso, ficou assim

 

<div class="folio"> 

	<?php $feature_post = get_posts('cat=3&showposts=20'); ?>           
        <?php if( $feature_post ) : ?>             
        <div id="news-post">            
          <?php foreach( $feature_post as $post ) : setup_postdata( $post ); ?>            
          <?php $feature_post_id = $post->ID; ?>      
                                   

	<div <?php if($children){ ?>class="portfolio_box"<?php } else { ?>class="portfolio_box_last"<?php } ?>>
	<!-- box image -->
        <div class="portfolio_image">
	<a class="img" href="<?php the_permalink() ?>"><div class="img"><?php the_post_thumbnail('portifolio-page'); ?></a></div>	
	</div>
	<?php } ?>
        
        <!-- box content -->
	<div class="portfolio_content">
	<h4><?php the_title(); ?></h4> 
        <?php echo get_post_meta($post->ID, "short_desc", true); ?>
        <a href="<?php the_permalink() ?>" rel="bookmark" title="Link direto para: <?php the_title(); ?>">
        <strong><?php echo get_option('portfolio_name', $wp_portfolio_name); ?></strong>»</a>
	</div>
</div>
              
                      
          <?php endforeach; ?>          
        </div>             
        <?php endif; ?> 
			

			</div>

Mas é o meu, lembrando que para você se utilizar pode haver erros, então melhor adaptar o seu utilizando as funções.

 

Até!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Anderson tudo certo?

 

Então, o primeiro caso que eu tive eu consegui resolver no html mesmo, sem precisar editar a função. Mas ai quado fui listar os posts da categoria, que é o archive.php, o problema aconteceu e percebi que seria necessário colocar uma class diferente a cada três itens. Com ajuda do meu amigo @pauloandreget cheguei na seguinte solução:

 

<?php if (have_posts()) : ?>
  <?php $count = 0; ?>
  <?php while (have_posts()) : the_post(); ?>
  <li id="post-<?php the_ID(); ?>"<?php echo ($count%4 == 0) ? ' class="diferente"' : ''; ?>>
    <h3><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
      <?php the_title(); ?>
      </a></h3>
    <a href="<?php the_permalink() ?>" class="imagemJobs" title="<?php the_title(); ?>">
    <?php the_post_thumbnail(); ?>
    </a>
    <p><strong>Clientes:</strong> <?php echo get_post_meta($post->ID, 'cliente', TRUE); ?></p>
    <p><strong>Tags:</strong>
      <?php the_tags('', ', ', ''); ?>
    </p>
  </li>
  <?php $count++; endwhile; endif; ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.