Intereting Posts
Неверный запрос (неверное имя хоста) на рабочем сервере, проблема с базой данных Совместное использование кнопок не работает – Настройки совместного доступа Не удается открыть запланированные сообщения необязательный параметр в структуре постоянной ссылки если есть тема mod Только показ the_date и the_excerpt для первой записи в get_posts Strip string из $ _product-> get_title (), чтобы получить более чистую мини-корзину Рекомендации по использованию пользовательских типов сообщений Как создать собственный тег HTML в редакторе в режиме «Текст (HTML)» Форма страницы опциона не работает dirname (__FILE__), возвращающий неправильный каталог внутри плагина У меня появляется сообщение об ошибке после ввода в моем домене. Как мне вернуть сайт Сообщения о таксономии wordpress Любой способ добавить -1 суффикс в конец каждого нового сообщения? Параметры api для WordPress не обрабатываются, если я использую ajax

Пользовательский запрос num_rows возвращает неправильную сумму

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

Вместо 11, я получаю 14. Кто-нибудь знает, почему?

<?php $pageposts = $wpdb->get_results($wpdb->prepare(" SELECT * FROM $wpdb->posts LEFT JOIN userContests ON ($wpdb->posts.ID = userContests.contestID) LEFT JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) LEFT JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) WHERE $wpdb->posts.post_status = 'publish' AND $wpdb->posts.post_type = 'post' AND $wpdb->posts.post_date < NOW() AND $wpdb->term_taxonomy.taxonomy = 'category' AND $wpdb->term_taxonomy.term_id IN(3) ORDER BY $wpdb->posts.post_date DESC "), OBJECT); /* $rows = $wpdb->num_rows; <------ Wrongly returns 14 */ /* $rows = $wpdb->get_var($wpdb->prepare(" <--------- Correctly returns 11 SELECT COUNT(*) FROM $wpdb->posts LEFT JOIN userContests ON ($wpdb->posts.ID = userContests.contestID) LEFT JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) LEFT JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) WHERE $wpdb->posts.post_status = 'publish' AND $wpdb->posts.post_type = 'post' AND $wpdb->posts.post_date < NOW() AND $wpdb->term_taxonomy.taxonomy = 'category' AND $wpdb->term_taxonomy.term_id IN(3) ORDER BY $wpdb->posts.post_date DESC")); */ echo "Number of rows = " .$rows; ?> 

Моя работа кажется пустой тратой ресурсов. Есть ли что-то более эффективное?

Solutions Collecting From Web of "Пользовательский запрос num_rows возвращает неправильную сумму"

Если вы хотите, чтобы общее количество всех опубликованных сообщений в определенной категории вы могли попробовать.

 $all_posts = new WP_Query( array( 'posts_per_page' => -1, 'post_status' => 'publish', 'cat' => 3 ) ); echo $all_posts->post_count; 

или

 $all_posts = new WP_Query( array( 'posts_per_page' => -1, 'post_status' => 'publish', 'category_name' => 'uncategorized' ) ); echo $all_posts->post_count; 

Просто не забудьте заменить «category_name» или «cat» на нужную категорию.