2016-04-08 5 views
0

У меня есть «вкладка» Система начальной загрузки происходит, где каждая вкладка это собственное название категории:PHP: Wordpress цикл по категориям и выводить все сообщения изображений

<?php $categories= get_categories(); 
    $firstCat = 1; 
    foreach ($categories as $cat) { 
     $trimmedCatName = str_replace(' ', '', $cat->cat_name); 
     echo '<li'; 
     if ($firstCat == 1) { 
      echo ' class="active"'; 
     } 
     echo '>'.'<a href="#'.$trimmedCatName.'" data-toggle="tab">'.$cat->cat_name.' <small style="color:#447294">('.$cat->category_count.')</small></a></li>'; 
     $firstCat++; 
    } 
?> 

Это выше^код работает отлично и устанавливает вкладку хорошо.

Проблема, с которой я сталкиваюсь, состоит в том, чтобы циклически переключаться между категориями как «содержимое вкладки», а затем для каждой отдельной категории, отображая все заголовки/изображения для этой категории. Вот что у меня есть до сих пор:

<div class="tab-content"> 
    <?php $categories= get_categories(); 
      $firstCat = 1; 
      foreach ($categories as $cat) { 
       $trimmedCatName = str_replace(' ', '', $cat->cat_name); 
       echo '<div class="tab-pane '; 
       if ($firstCat == 1) { 
        echo 'active'; 
       } 
       echo '" id="#'.$trimmedCatName.'">'. 
       '<select class="image-picker">'; 

       $posts = get_posts($cat); 
       if ($posts) { 
        foreach ($posts as $p) { 
         echo '<option>'; 
         echo get_the_post_thumbnail($p->ID, 'medium').'<br>'; 
         echo '</option>'; 
        } 
       } 

       echo '</select>'; 
       $firstCat++; 
      } 
    ?> 
</div> 

Я смущен тем, как правильно получить этот код.

+0

Вы пробовал '$ сообщение = get_posts (массив ('категорию' => $ кошка-> ID))' вместо этого? – jprofitt

+0

@jprofitt Да, я просто заменил это тем, что вы мне дали, он все еще не работает – NoReceipt4Panda

ответ

0
<div class="tab-content"> 
    <?php $categories= get_categories(); 
      $firstCat = 1; 
      foreach ($categories as $cat) { 
       $trimmedCatName = str_replace(' ', '', $cat->cat_name); 
       echo '<div class="tab-pane '; 
       if ($firstCat == 1) { 
        echo 'active'; 
       } 
       echo '" id="#'.$trimmedCatName.'">'. 
       '<select class="image-picker">'; 

       $posts = get_posts(array('category' => $cat->term_id)); 
       if ($posts) { 
        foreach ($posts as $p) { 
         echo '<option>'; 
         echo get_the_post_thumbnail($p->ID, 'medium').'<br>'; 
         echo '</option>'; 
        } 
       } 

       echo '</select>'; 
       $firstCat++; 
      } 
    ?> 
</div> 

уведомление я заменил $ кошка-> term_id

, если вы все еще получаете ничего не попробовать жесткого кодирования идентификатор категории и посмотреть, если вы получаете какие-либо результаты.

попробовать это ..

add_action('init','test'); 
function test(){ 
    var_dump(get_posts(array('category' => 1)));  
} 
+0

К сожалению, это не сработало. ничего не повторилось. – NoReceipt4Panda

+0

попробуйте жестко кодировать идентификатор категории, я добавил код в конце, можно использовать для отладки. –

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