Задать вопрос
powepmakerru
@powepmakerru

Как запретить вывод тегов с id 2 и 4?

Есть код, который выводит теги списком. Вопрос такой, как запретить вывод тегов с id 2 и 4?

<?php
                            $tags        = get_tags( 'orderby=name&order=ASC' );
                            $capital     = '';
                            $i           = 0;
                            $cols_number = 1; 
                            $cut         = ceil( count( $tags ) / $cols_number );
                            $cutter      = $cut;
                            $letter_i    = 0;
                            $output      = '<div class="columnia">';
                            foreach ( $tags as $tag ) {
                                $i ++;
                                $firstletter = mb_substr( $tag->name, 0, 1 );
                                $firstletter = mb_strtoupper($firstletter);
                                if ( $firstletter != $capital ) {
                                    $letter_i ++;
                                    if ( $letter_i != 1 ) {
                                        $output .= '</p>';
                                    }
                                    if ( $i > $cutter ) {
                                        $output .= '</div><div class="columnia">';
                                        $cutter = $cutter + $cut;
                                    }
                                    $capital = $firstletter;
                                }
                                $term = get_term_by( 'id', (int) $tag->term_id, 'post_tag' );
                                $output .= '<p class="p00"><a href="' . get_term_link( (int) $tag->term_id, 'post_tag' ) . '">' . $tag->name . '</a>';
                            }
                            echo $output . '</p></div>';
                            ?>
  • Вопрос задан
  • 329 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
Примерно принцип такой
foreach ( $tags as $tag ) {

if($tag->term_id == 1  || $tag->term_id == 2)
 continue;
//далее ваш код

}


если я конечно правильно вас понял)
Ответ написан
Комментировать
@mr_ko
Javascript, Node.js. React.js, Vue.js, Wordpress
У Wordpress есть прекрасный кодекс. Открываем нужную функцию и смотрим список возможных аргументов https://codex.wordpress.org/Function_Reference/get_tags
В результате получим такой набор аргументов:
$tags = get_tags( 'exclude=2,4&orderby=name&order=ASC' );

А использовать всякие там in_array в этом случае неправильно.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
tvolf
@tvolf
Не знаю, правильно ли я понял суть задачи, но что, если в самом начале цикла for написать, например, так:
===
...
foreach ( $tags as $tag ) {
if (in_array($tag->id, array(2,4))) continue;
...
===
?
Ответ написан
Комментировать
maximw
@maximw
...
foreach ( $tags as $tag ) {
if (in_array($tag->id, array(2,4) )) {
  continue;
}
...

Просто, но кривовато.

Вообще если такая выборка нужна, то лучше реализовать это в get_tags()
get_tags( 'where=id not in (2,4)&orderby=name&order=ASC' );
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы