Получение нескольких типов постов и таксономий - PullRequest
0 голосов
/ 11 октября 2018

Я хочу отображать последние новости / оповещения на своей домашней странице, и мне нужна помощь.

В настоящее время я только показываю новости с пост-типом post, используя приведенный ниже код.Это работает отлично.Проблема возникает, когда я хочу использовать более одного пост-типа.как только я изменяю как 'post_type' => array('post','blog'), ничего не появляется.Причина, по которой он не отображается, $term = get_the_category();.Как только я удаляю весь этот раздел для цвета с <a></a>.Это работает отлично.

Так что я считаю, что я должен указать таксономии.Потому что в Post у меня есть налог как category, а в Blog у меня есть налог как blog-category.Я не мог получить эти два в одно и то же время.

Так, как я могу назвать две таксономии в $term = get_the_category();

Спасибо, теперь

<div class="news-area">
<div class="items clear">

<?php
$query = new WP_Query(array(
      'post_type' => 'post',
      'posts_per_page' => 4,
));
while ($query->have_posts()) : $query->the_post();
  $info = get_post_meta(get_the_ID(), '_post_info', true); if (!$info) $info = array();
  $post_elem=get_post();
  ?>
<div class="item <?php if (has_post_thumbnail()) echo 'has-image' ?>">
  <div class="inner">
      <div class="content">
          <?php if (has_post_thumbnail()): ?>
              <?php the_post_thumbnail('full') ?>
          <?php endif; ?>

          <?php
          $term = get_the_category();
          $term = $term[0];
          $color = get_term_meta($term->term_id, 'color', true);
          ?>
          <a href="<?php echo get_term_link($term) ?>" class="category" style="background-color: <?php echo $color ?>">
              <?php echo $term->name ?>
          </a>

          <h2 class="title">
              <a href="<?php the_permalink() ?>" class="underline"><?php the_title() ?></a>
          </h2>

          <div class="description">
              <?php //$except_meta=get_post_meta(get_the_ID(),"_excerpt") ?>
              <?php //echo "Aaaaaaa".$query->the_post()->post_excerpt ?>
              <?php if($post_elem->post_excerpt!=""): ?>
                  <?php  the_custom_excerpt($post_elem->post_excerpt, $length =80); ?>
              <?php else: ?>
              <?php the_excerpt(); ?>
              <?php endif; ?>
          </div>

          <div class="date"><?php echo get_the_date(et_get_option('_date_format')) ?></div>
      </div>
  </div>
</div>
<?php endwhile; wp_reset_postdata(); ?>

</div>
</div>

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Спасибо, ребята, я только что решил, изменив

$term = get_the_category(); 

на

$term = get_the_terms($ID,array('blog-category','category'));
0 голосов
/ 12 октября 2018

Не могу добавить комментарий, поэтому я опубликую его как ответ.Попробуйте:

<?php
      $term = get_the_category();
      if ( ! empty( $term ) ) {
          $term = $term[0];
          $color = get_term_meta($term->term_id, 'color', true);
          ?>
          <a href="<?php echo get_term_link($term) ?>" class="category" style="background-color: <?php echo $color ?>">
          <?php echo $term->name ?>
          </a>
          <?php
       }
       ?>
       <h2 class="title">
              <a href="<?php the_permalink() ?>" class="underline"><?php the_title() ?></a>
       </h2>

Это по крайней мере предотвратит показ / выполнение, когда $ color не установлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...