Wordpress Portfolio изменяется с использованием PHP - PullRequest
0 голосов
/ 25 мая 2020

Я добавил типы проектов в портфолио своего веб-сайта https://littleseabear.com/portfolio, но в нем перечислены все возможные теги, а не теги, напрямую связанные с портфолио.

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

Вот мой код:

    $taxonomy = 'jetpack-portfolio-type'  ;
    $tax_terms = get_terms( 'jetpack-portfolio-type'  );


if( is_archive() || is_home() || is_front_page() ){
?>
    <div class="post-wrapper">
<?php 
    infinity_news_post_thumbnail();
} 
?>
<div class="post-thumbnail"> 
<?php

                foreach ( $tax_terms as $tax_term ) {
                echo '<a class="filter" href="/project-type/'. $tax_term->slug.'">' . $tax_term->name .'</a>, ';
                }
    ?>
    <div class="article-details <?php if( is_single() ){ echo 'single-article-details'; } ?>">

Также ... есть ли способ избавиться от запятых? Спасибо

1 Ответ

0 голосов
/ 25 мая 2020

get_terms извлекает все доступные теги, а не только те, которые связаны с текущим сообщением. Вместо этого измените строку get_terms вверху следующим образом:

    $taxonomy = 'jetpack-portfolio-type'  ;
    $tax_terms = get_the_terms( get_the_ID(), $taxonomy );

Это будет собирать термины $taxonomy, связанные с текущим сообщением.

Изменить: Я пропустил вопрос о запятых. Чтобы полностью избавиться от них, вы можете просто удалить их из вывода:

                foreach ( $tax_terms as $tax_term ) {
                echo '<a class="filter" href="/project-type/'. $tax_term->slug.'">' . $tax_term->name .'</a> ';
                }

Я удалил , сразу за закрывающим </a>, поэтому теперь он будет разделяться только пробелами. Если вы хотите иметь специальный разделитель только между элементами, вы можете добиться этого следующим образом:

                $separator = ''; // initialize empty
                foreach ( $tax_terms as $tax_term ) {
                  echo $separator.'<a class="filter" href="/project-type/'. $tax_term->slug.'">' . $tax_term->name .'</a>';
                  if (empty($separator)) {
                    // Choose a custom separator HERE:
                    $separator = ', ';
                  }
                }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...