Intereting Posts
Не найдено (404) ошибка на странице администратора, CSS ушел в блог Как установить условия для определения подсайта и других критериев? Что это за записи в базе данных? Похож на JSON Как обеспечить суб-блоги своими собственными доменными именами? Загрузка изображения и другие параметры в одной и той же форме настроек плагина? Записи ежемесячного архива WordPress приводят к 404 Цикл с двумя колонками с одной строкой Создание условий для персонализированной почты для сохранения данных? Как ограничить количество сообщений в цепочке wordpress в сочетании с кнопкой «загрузить больше»? Есть функция un-wp_autop? Разработка плагинов – загрузка Javascript и Flash Показывать количество проданных товаров, но сначала не менее 2 wp_insert_post: только массив. wp_update_post: array | object (?) Экран комментариев в бэкэнд, как отключить визуальный редактор при ответе на комментарий meta_query с мета значениями как сериализуемые массивы

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

Мне нужно узнать количество раз, когда термин / тег или категория используется в сообщении в WordPress. Я написал ниже SQL-запрос.

SELECT t.name , count(*)FROM wp_terms t JOIN wp_term_taxonomy tt ON tt.term_taxonomy_id = t.term_id JOIN wp_term_relationships tr ON tr.term_taxonomy_id = tt.term_taxonomy_id JOIN wp_posts p ON p.id=tr.object_id Where t.name='3d' 

Это дает мне подсчет «1011». Я знаю, что это неправильно, потому что я случайно проверял сообщения, которые у меня есть, и этот термин не использовался. Пожалуйста, совет, где я могу ошибиться?

Wp_Query должен быть в состоянии сделать это за вас. Передайте ему соответствующие параметры, включая tax_query , и проверьте found_posts .

 $p = new WP_Query( array( 'post_type' => 'custcpt', // your CPT 'tax_query' => array( array( 'taxonomy' => 'custtax', // your tax 'field' => 'id', 'terms' => $cat->term_id, // your term ID ) ), 'ignore_stickie_posts' => true, 'fields' => 'ids', ) ); echo $p->found_posts; 

Непроверенный, но должен быть близок.

Если таксономия привязана только к одному типу сообщения, вы можете просто использовать term_taxonomy.count .

 SELECT t.name , tt.count FROM wp_terms t JOIN wp_term_taxonomy tt ON tt.term_taxonomy_id = t.term_id Where t.name='3d' 

Должен сделать трюк.

Я решил это:

 SELECT t.name, count(*) FROM wp_terms t JOIN wp_term_taxonomy tt ON tt.term_id = t.term_id JOIN wp_term_relationships tr ON tr.term_taxonomy_id = tt.term_taxonomy_id JOIN wp_posts p ON p.id=tr.object_id WHERE t.name = '3d'