2013-03-04 2 views
0

Хорошо, поэтому мой php довольно плох, поэтому может быть трудно понять, что я имею в виду в некоторых точках, но в значительной степени у меня есть цикл wordpress, и в какой-то момент я получаю категорию сообщения и эхо в класс.Echo несколько категорий из массива wp

Некоторые должности имеют несколько категорий, и я хочу отследить их обоих в классе.

До сих пор это то, что я использую, чтобы получить категории

$categories = get_the_category(); 

и это, как я повторяю их

<?php echo $categories[0]->category_nicename; ?> 

Если я изменяю

<?php echo $categories[1]->category_nicename; ?> 

он получает вторая категория, но я хочу, чтобы все они были получены

Это полный код

<?php query_posts("post_type=portfolio"); ?> 
<?php $i=0; /** start the project loop here */?> 
<?php if(have_posts()):?> 
<?php while(have_posts()) : the_post();?> 
<?php $i++; ?> 

<?php 
$image1ID = get_field('thumbnail'); 
$image1 = wp_get_attachment_image_src($image1ID, '500by250-thumb'); 
$attachment = get_post($image1ID); 
$image1_title = $attachment->post_title; 
$categories = get_the_category(); 

?>   

    <pre> 
     <?php print_r($categories) ?> 
    </pre> 

    <li data-type="<?php echo $categories[0]->category_nicename; ?>" data-id="id-<?php echo $i ?>" class="portfolio-thumb <?php the_field('thumb_size');?>"> 

     <a data-scroll="#portfolio-second" href="<?php the_permalink(); ?>" title="<?php echo $image_title; ?>"> 
      <div class="hover-content"> 
       <span class="thumb-caption"><?php the_field('thumb_caption');?></span> 
       <span class="thumb-title"><?php the_title();?></span> 
      </div> 
      <img src="<?php echo $image1[0] ?>" alt="<?php echo $image_title; ?>"> 
     </a> 

    </li> 

<?php endwhile; ?> 
<?php else: ?> 
<?php endif; ?> 
<?php wp_reset_query(); ?> 

ответ

2

Если вы хотите перебрать все категории массива, вы можете использовать foreach заявление, как показано ниже:

<?php foreach($categories as $category){?> 
    <li data-type="<?php echo $category->category_nicename; ?>" data-id="id-<?php echo $i ?>" class="portfolio-thumb <?php the_field('thumb_size');?>"> 

         <a data-scroll="#portfolio-second" href="<?php the_permalink(); ?>" title="<?php echo $image_title; ?>"> 
          <div class="hover-content"> 
           <span class="thumb-caption"><?php the_field('thumb_caption');?></span> 
           <span class="thumb-title"><?php the_title();?></span> 
          </div> 
          <img src="<?php echo $image1[0] ?>" alt="<?php echo $image_title; ?>"> 
         </a> 

        </li> 
<?php } ?> 

Полный код будет:

 <?php query_posts("post_type=portfolio"); ?> 
     <?php $i=0; /** start the project loop here */?> 
     <?php if(have_posts()):?> 
     <?php while(have_posts()) : the_post();?> 
     <?php $i++; ?> 

     <?php 
     $image1ID = get_field('thumbnail'); 
     $image1 = wp_get_attachment_image_src($image1ID, '500by250-thumb'); 
     $attachment = get_post($image1ID); 
     $image1_title = $attachment->post_title; 
     $categories = get_the_category(); 

     ?>   

      <pre> 
       <?php print_r($categories) ?> 
      </pre> 

      <?php foreach($categories as $category){?> 
    <li data-type="<?php echo $category->category_nicename; ?>" data-id="id-<?php echo $i ?>" class="portfolio-thumb <?php the_field('thumb_size');?>"> 

         <a data-scroll="#portfolio-second" href="<?php the_permalink(); ?>" title="<?php echo $image_title; ?>"> 
          <div class="hover-content"> 
           <span class="thumb-caption"><?php the_field('thumb_caption');?></span> 
           <span class="thumb-title"><?php the_title();?></span> 
          </div> 
          <img src="<?php echo $image1[0] ?>" alt="<?php echo $image_title; ?>"> 
         </a> 

        </li> 
<?php } ?> 
     <?php endwhile; ?> 
     <?php else: ?> 
     <?php endif; ?> 
     <?php wp_reset_query(); ?> 
+0

Хорошо, я пробовал это, и он работает, но он сделал отдельный li для каждой категории Я тогда попытался поставить forloop insi тип данных, но Он объединяет категории –

+0

Хорошо, исправлено, что мне плохо было просто добавить. «; в конце Спасибо за помощь –

Смежные вопросы