WP Query Post Count всегда равен 0 - PullRequest
1 голос
/ 16 мая 2019

У меня много запланированных постов (location) в моей базе данных, и я хочу показать только таксономии (locationtype), которые опубликовали посты.

, поэтому я создал функцию check_term_posts ($ term_id)

но всегда возвращает 0.

WP Query, кажется, единственный способ достичь этого, так как $ term-> count, кажется, доставляет все.

    protected function check_term_posts($term_id) {
            $args = [
                'posts_per_page' => -1,
                'post_type' => 'location',
                'post_status' => 'publish',
                'tax_query' => [[
                    'taxonomy' => 'locationtype',
                    'field' => 'term_id',
                    'terms' => $term_id
                ]]
            ];

            $q = new \WP_Query($args);
            return $q->post_count;
    }

$ q-> post_count всегда равен нулю

1 Ответ

1 голос
/ 16 мая 2019

вам нужно заменить

'field' => 'term_id', to 'field' => 'id',

ваш код станет таким

$args = [
                'posts_per_page' => -1,
                'post_type' => 'location',
                'post_status' => 'publish',
                'tax_query' => [[
                    'taxonomy' => 'locationtype',
                    'field' => 'id',
                    'terms' => $term_id
                ]]
            ];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...