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

У меня есть два пользовательских типа сообщений, названных publication и service.

Я публикую публикуемые статьи и брошюры с двумя различными категориями: publication-service и publication-type.

публикация-служба указывает на то, к какой услуге относится данная публикация.

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

Тип служебного поста также имеет те же типы категорий, что и публикация, это дублированные типы категорий.

Итак, я создал связь между публикацией и сервисами с помощью приведенного ниже кода, чтобы перечислять публикации публикаций на страницах сервисов. Код работает отлично, и я могу создать отношения между любым сервисом и публикацией. Например, одна из услуг, перечисленных на сайте, - Образование , и в то же время у меня есть несколько брошюр и статей, связанных с образовательной службой. Применяя приведенный ниже код, я могу перечислить сообщения, связанные с соответствующими службами.

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

Надеюсь, вы понимаете, что я пытаюсь объяснить, это структура сайта со службами и публикациями.

enter image description here

Ребята, можете ли вы помочь с этим?

<?php

  $custom_terms = wp_get_post_terms($post->ID, 'publication-service');

  if( $custom_terms ){


      $tax_query = array();


      if( count( $custom_terms > 1 ) )
          $tax_query['relation'] = 'OR' ;


      foreach( $custom_terms as $custom_term ) {

          $tax_query[] = array(
              'taxonomy' => 'publication-service',
              'field' => 'slug',
              'terms' => $custom_term->slug,
          );

      }


      $args = array( 'post_type' => 'publication',
                      'posts_per_page' => 5,
                      'tax_query' => $tax_query );


      $loop = new WP_Query($args);

      if( $loop->have_posts() ) {

          while( $loop->have_posts() ) : $loop->the_post(); ?>
        <div class="item">
        <div class="listing-title">
          <a href="<?php the_permalink() ?>" class="underline"><?php the_title() ?></a>
        </div>
        <div class="listing-image">
          <a href="<?php the_permalink() ?>" style="background-image: url('<?php echo get_the_post_thumbnail_url(get_the_ID(), 'full') ?>')"></a>
        </div>
      </div>
          <?php

          endwhile;

      }

      wp_reset_query();

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