jefftancil
  • 0
Новичок

Отображение пользовательских сообщений по категориям

  • 0

Я могу получить пользовательские сообщения для отображения на моем сайте. Однако я хочу фильтровать сообщения по категориям.

Пользовательские сообщения отображаются на этой странице: http://www.africanhealthleadership.org/resources/toolkit/

Пользовательские посты — это инструменты, например инструмент кабинетного исследования и оценки.

В разделе «Подготовка» я хочу показать только «Кабинетные исследования». Однако ВСЕ инструменты отображаются в разделе «Подготовка».

Я использовал этот код для отображения инструментов. Очевидно, что category_name не работает, но я не знаю, как это исправить. Спасибо за любую помощь.

<?php $loop = new WP_Query( array( 'post_type' => 'portfolio', 'category_name' => 'preparation' ) ); ?>

<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

<?php the_title( '<h2 class="entry-title"><a href="' . get_permalink() . '" title="' . the_title_attribute( 'echo=0' ) . '" rel="bookmark">', '</a></h2>' ); ?>

`

Share
  1. Можете ли вы быть более конкретным? Вы имеете в виду custom post type или custom query ?

    Насколько я знаю, при использовании пользовательского типа сообщения вы не можете использовать его напрямую category_name, поскольку ваше сообщение обрабатывается по-другому. Вы должны добавить пользовательские таксономии в register_post_type, а затем зарегистрировать их с помощью register_taxonomy().

    примечание: пожалуйста, поправьте меня, если мое заявление выше неверно, я не углубляюсь в пользовательский тип сообщения, по крайней мере, сейчас.

    скажем, у вас есть пользовательский тип сообщения с именем portfolio, пользовательская таксономия с именем toolkit со следующими категориями:

    1. подготовка
    2. оценка
    3. лидерство
    4. инновации

    и вы хотите показать все сообщения в preparation :


    остерегайтесь луркера, этот код сильно устарел


    <?php
      query_posts( array( 'post_type' => 'portfolio', 'toolkit' => 'preparation' ) );
      //the loop start here
      if ( have_posts() ) : while ( have_posts() ) : the_post();
    ?>
      <h3><?php the_title(); ?></h3>
      <?php the_content(); ?>
    <?php endwhile; endif; wp_reset_query(); ?>
    
    • 0

Оставить ответ

You must login to add an answer.