2012-05-31 3 views
1

У меня есть код для отображения последних 3 сообщений каждой категории (включая дочерние категории), и я хочу исключить должности из этих дочерних категорий, потому что эти сообщения уже показаны в родительских категориях.Родительские категории и категории детских должностей

Например, у меня есть категория принтера как родительская и (принадлежности для принтеров, ....., .....) в качестве дочерних категорий.
Таким образом, он показывает последние 3 сообщения каждого, и я хочу исключить любые дочерние категории (принадлежности для принтеров, ....., ....) и их сообщения от показа.

Вот код:

$cat_args = array(
    'orderby' => 'name', 
    'order' => 'ASC', 
    'child_of' => 0 
); 

$categories = get_categories($cat_args); 

foreach($categories as $category) { 
    echo '<dl>'; 
    echo '<dt> <a href="' . get_category_link($category->term_id) . '" title="' . sprintf(__("View all items in %s"), $category->name) . '" ' . '>' . $category->name.'</a></dt>'; 

    $post_args = array(
     'numberposts' => 3, 
     'category' => $category->term_id 
    ); 

    $posts = get_posts($post_args); 

    foreach($posts as $post) { 
    ?> 
     <dd> 
        <div class="allincat"> 

        <div class="catmeta">      
        <span class="authinfo"> 
        <div class="authimg"></div> 
        <?php the_author(); ?> | <?php the_time('jS F Y') ?> </span> 


        </div> 

        <div class="allincatimg"> 
        <?php the_post_thumbnail(array(50,50)); ?> </div> 
        <div class="allincattit">      
        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> 
        </div> 





        </div> 

        </dd> 
    <?php 
    } 
    echo '<div class="view-all"> <a href="' . get_category_link($category->term_id) . '" title="' . sprintf(__("View all items in %s"), $category->name) . '" ' . '>View all items in ' . $category->name.'</a></div>'; 
    echo '</dl>'; 
} 

ответ

0

сообщение запроса после создания вашего массива аргументов.

<?php 
    $args = array(
     'cat'  => 22, // your parent cat id here 
     'order' => 'ASC' 
     'orderby' => 'name', 
     'posts_per_page' => 3 
    ); 

    query_posts($args); ?> 

      <?php if (have_posts()) : ?> 
      <?php while (have_posts()) : the_post(); ?> 
       <dd> 
       <div class="allincat"> 
        <!-- content here --> 
       </div> 
       </dd> 
      <?php endwhile; ?> 
      <?php endif; ?> 
+0

Спасибо, но это будет определяться для каждой родительской категории в месте по идентификатору , но я хочу это для всех моих родительских категорий автоматически не по идентификатору, так как родительские категории могут быть более позднее. любое решение? – dina

+0

Используйте '$ cat_ID = get_query_var ('cat');' для получения текущего идентификатора категории динамически, затем – anuragbh

+0

Не могли бы вы объяснить это решение? – dina

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