2010-05-29 5 views
1

Я хотел бы знать, как предотвратить показ сообщений подкатегорий. На моей домашней странице перечислены все записи из трех «основных категорий» (родительская категория), но, к сожалению, она также перечисляет некоторые должности из подкатегорий.WordPress: Предотвращение отображения подкатегорий Сообщений

Вот код, который я использую, чтобы получить сообщения от конкретной категории:

<h2>Category Name</h2> 
<ul> 
    <?php $category_query = new WP_Query(array('category_name' => 'category1', 'showposts' => 5)); ?> 
    <?php while ($profissionais_query->have_posts()) : $profissionais_query->the_post(); ?> 
    <li> 
     <a class="title" href="<?php the_permalink(); ?>"><?php the_title(); ?></a> 
     <?php the_excerpt(); ?> 
    </li> 
    <?php endwhile; ?> 
</ul> 

Кто-нибудь есть идеи?

спасибо.

ответ

1

Попробуйте этот стиль нового запроса; он отображает только одну категорию. Он может быть использован mutliple раз на странице или по почте (с выполнением PHP включен) без конфликта:

<?php $my_query = new WP_Query('category_name=mycategory&showposts=5'); ?> 
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?> 
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"> 
<?php the_title(); ?></a> 
<?php the_excerpt(); ?> 
<?php endwhile; ?> 
+0

Рекомендуется использовать Для уничтожения пользовательских запросов после их запуска в противном случае они могут влиять на выполнение других запросов на странице. Добавьте его непосредственно перед окончанием. – Jared

+0

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

+0

Carlos; Я тестировал его с подкатегориями и не показывал подкатегорий; подкатегории имеют свой собственный идентификатор категории и должны быть вызваны конкретно. Попробуйте в шаблоне страницы без каких-либо других циклов или кода (кроме стандартного цикла WP), чтобы изолировать конфликт. Jared: ему не нужен wp_reset_query, поскольку он является автономным запросом. Я использую его на нескольких сайтах, несколько раз на странице/странице, и ни одна из циклов запроса не конфликтует. – markratledge

1

Это должно работать:

<?php $category_ID = $cat; // get ID of current category ?> 

<?php $excludes = get_categories('child_of='.$category_ID) ; 

    // For each child, add just the ID to an array 
    foreach ($excludes as $key => $value){ 
     $exs[] = $value->cat_ID; 
    } 

$my_query = new WP_Query(array(
      'cat' => $category_ID, 
      'category__not_in' => $exs 

)); 
if ($my_query->have_posts()) : while($my_query->have_posts()) : $my_query->the_post(); 
?> 
0

Ниже код будет отображаться сообщения только из текущей категории

<?php 
$current_cat = get_query_var('cat'); 

$args=array(
    'category__in' => array($current_cat), 
    'showposts' => 5 
); 

query_posts($args); 

set_query_var("cat",$current_cat); 

if (have_posts()) : 

    while (have_posts()) : the_post(); 
?> 
     <a class="title" href="<?php the_permalink(); ?>"><?php the_title(); ?></a> 
     <?php the_excerpt(); ?> 
<?php 

    endwhile; 

else : 

?> 
     <h2>Nothing found</h2> 
<?php 

endif; 

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