2016-10-29 2 views
1

Мы знаем, что single.php в Wordpress находится внутри цикла, поэтому я могу напрямую использовать the_title() или the_permalink(), не создавая собственный запрос.Получить категорию ссылку на список сообщений в single.php в Wordpress

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

Я могу получить все связанные с ними сведения, кроме ссылки категории.

Код, который у меня есть, теперь возвращает категорию uncategorized для всех сообщений, даже если они указаны в определенной категории.

Это пользовательский запрос, который я использую, который выборку сообщения от пользовательских почтового типа cards внутри single.php

Уведомления $categories = get_categories(); - цикл Еогеаспа отображает следующий URL для всех сообщений, которые просто не соответствует действительности.

http://localhost/wonderhive/category/uncategorized/

Как я могу исправить, и получить правильный URL категории? Поскольку я уже получаю правильное название категории.

<?php 
      $queryObject = new WP_Query('post_type=cards&posts_per_page=-1'); 
      if ($queryObject->have_posts()) { 

       while ($queryObject->have_posts()) { 
        $queryObject->the_post(); ?> 
       <div class="vista bg-black p-12 h-60 black"> 
        <a href="<?php the_permalink(); ?>"> 
         <img src="<?php the_post_thumbnail_url('small'); ?>" alt="gian" class="f-left foto r-100 "> 
         <div class="f-left"> 
          <h5 class="gray2"> 
           <?php 
           $thetitle = $post->post_title; 
           $getlength = strlen($thetitle); 
           $thelength = 45; 
           echo substr($thetitle, 0, $thelength); 
           if ($getlength > $thelength) echo "..."; 
           ?> 
          </h5> 
        </a> 
         <h6> 
          <?php 
          $categories = get_categories(); 
          foreach ($categories as $cat) { 
           $category_link = get_category_link($cat->cat_ID); 
           echo $category_link; 
          } 
          ?> 
          <a href=""> 
           <?php $terms = wp_get_post_terms($post->ID,'categories'); 
           foreach ($terms as $term) { 
            echo $term->name; 
           } 
           ?> 
          </a> 
         </h6> 
        </div> 
        <span class="f-right"><?php echo get_the_date(); ?></span> 
       </div> 
       <?php } 
      } 
      ?> 

ответ

0

Вы должны использовать $categories = get_the_category() вместо $categories = get_categories(). Эта функция будет получать категории для текущей должности.

Для получения дополнительной информации см. WordPress Codex on get_the_category(). Удачи!

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