WordPress. Вывести количество записей определенной рубрики определенного автора

DarkHorse
На сайте с 29.12.2013
Offline
45
4292

Коллеги, добрый день!

Прошу вашей помощи.

Дано:

Сайт на WordPress.

На данном сайте имеем 10 рубрик и 5 авторов.

Допустим, что первая рубрика называется "Высшая Математика" (id рубрики = 4).

В данную рубрику авторы самостоятельно выкладывают примеры решения задач по Высшей Математике.

Допустим, что автор "Александр" (id автора = 15) выложил 37 примеров в рубрику "Высшая Математика".

Задача: Необходимо вывести числом все Записи в рубрике "Высшая Математика" (id=4) от Автора "Александр" (id=15). То есть на экране должно высветится число "37".

P.S.: Вывести количество постов (записей) автора по всем рубрикам могу вот так:

<?php the_author_posts(); ?>

Но как вывести количество постов по двум критериям (автор+рубрика) не могу никак сообразить.

Пожалуйста, помогите.

Вперед в бой, а битва все решит!
W
На сайте с 09.04.2013
Offline
46
#1


$userposts = get_posts('cat=4&showposts=-1&author=15');
$count=count($userposts);
D
На сайте с 02.02.2010
Online
149
#2

DarkHorse

Можно так


<?php
$count = new WP_Query('cat=3278&author=271');
echo $count->post_count;
?>
DarkHorse
На сайте с 29.12.2013
Offline
45
#3

Коллеги, большое спасибо за ответы!

Выбрал вариант divv:

<?php
$count = new WP_Query('cat=3278&author=271');
echo $count->post_count;
?>

Пожалуйста, подскажите, как сделать так, чтобы значения категории cat=3278 и автора author=27 подставлялись автоматически для каждой записи (статьи)?

Пробую что-то вроде такого, но ничего не выходит:(

<?php
$count = new WP_Query("cat=3278&author='the_author_ID'");
echo $count->post_count;
?>


---------- Добавлено 10.12.2015 в 16:49 ----------

Коллеги, реализовал вот так (всё работает, прошу не кидать в меня камнями за возможно кривую реализацию :) )
<?php
foreach((get_the_category()) as $category) {
$idcat = $category->cat_ID . ' ';
}
$idauthor = get_the_author_ID();
$count = new WP_Query("cat='$idcat'&author='$idauthor'");
echo $count->post_count;
?>
D
На сайте с 02.02.2010
Online
149
#4


<?php
$cat = get_the_category($post->ID);
$my_post = get_post( $id );
$count = new WP_Query('cat='.$cat->cat_ID.'&author='.$my_post->post_author);
echo $count->post_count;
?>

Все это дело использовать внутри цикла

DarkHorse
На сайте с 29.12.2013
Offline
45
#5

Коллеги, добрый вечер!

Столкнулся с проблемой.

Выбранный код:


<?php
$count = new WP_Query('cat=3278&author=271');
echo $count->post_count;
?>

Считает только до 12! Если записей 13 и выше, то он отображает только цифру "12" (если выводить echo)

Подскажите, что делать?

---------- Добавлено 13.12.2015 в 01:44 ----------

Хочу заметить, что именно 12 записей выводится на 1 странице рубрики.

---------- Добавлено 13.12.2015 в 02:05 ----------

Коллеги, еще информация!

В настройках Вордпресса изменил графу:

На страницах блога отображать не более 12 запией

Изменил на:

На страницах блога отображать не более 13 запией

Теперь функция показывает 13.

По всей видимости код считает записи только на 1 странице рубрики. Скажите, как посчитать на всех страницах (в одной рубрике может быть по 5-6 страниц и больше).

Gerga
На сайте с 02.08.2015
Offline
94
#6

DarkHorse, добавьте 'posts_per_page' => -1

DarkHorse:
$count = new WP_Query('cat=3278&author=271');

измените на

$count = new WP_Query('cat=3278&author=271&posts_per_page=-1');

WP_Query{}

DarkHorse
На сайте с 29.12.2013
Offline
45
#7

Gerga! Спасибо Вам огромное! :)

Всё работает отлично!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий