Список тегов Woocommerce со строкой c - PullRequest
3 голосов
/ 07 мая 2020

Код отлично работает для перечисления тегов продуктов WooCommerce, но я хочу добавить с ним запрос.

Я хотел бы перечислить только те теги продуктов, которые содержат специфику c String.

<?php
$terms = get_terms(array(
    'taxonomy' => 'product_tag', 
    'hide_empty' => false,
));

$count = count($terms);
echo "found ". $count . " Schools";

?>
<div class="product-tags">
    <ul>
    <?php foreach ( $terms as $term ) { ?>
        <li><a href="<?php echo get_term_link( $term->term_id, 'product_tag' ); ?> " rel="tag"><?php echo $term->name; ?></a></li>
    <?php } ?>
    </ul>
</div>

Ответы [ 2 ]

2 голосов
/ 07 мая 2020

Используйте WP_Term_Query вместо get_terms

$keyword = 'tag';

// Args
$args = array(
    'taxonomy'    => 'product_tag',
    'hide_empty'  => false,
    'name__like'  => $keyword,
);

// Term Query
$query = new WP_Term_Query($args);

// Get terms
$get_terms = $query->get_terms();

// Count
$count = count( $get_terms );

echo "found ". $count . " Schools";

// Loop
foreach ( $get_terms as $terms ) {
    echo $terms->name;
}
1 голос
/ 07 мая 2020

Вы можете использовать поля 'search' или 'name_like' в первом массиве аргументов, согласно документации wordpress здесь:

https://developer.wordpress.org/reference/classes/wp_term_query/__construct/

Например , скажем, вы хотите получить все термины, имя которых содержит 'foo'

<?php 
$terms = get_terms(array(
    'taxonomy' => 'product_tag', 
    'hide_empty' => false,
    'name__like' => '%foo%'
)); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...