Показать сообщение X of Y в категории

Я пытаюсь отобразить номер сообщения ( X ) на каждом single.php, исходя из того, какое число занимает этот пост в своей категории, за которым следует общее количество сообщений ( Y ) в категории. Так что, если в моей категории «фотографии» 10 должностей, последнее сообщение должно быть «1/10».

Я нашел это решение для Y:

<?php $category = get_the_category(); echo $category[0]->category_count; ?> 

Это решение почти делает то, что я хочу для X , но оно не основано на категории и включает все сообщения: http://wordpress.org/support/topic/show-post-number#post-1294235

Может ли кто-нибудь помочь? 🙂

Хорошо, это должно делать то, что вы хотите:

 // Fetch all posts in the current post's (main) category $args = array( 'post_type' => 'post', 'posts_per_page' => -1, 'cat' => array_shift(get_the_category())->cat_ID, ); $query = new WP_Query($args); // The index of the current post in its (main) category $X = 1; $id = get_the_ID(); foreach ($query->posts as $cat_post) if ($id != $cat_post->ID) $X++; else break; // The number of posts in the current post's (main) category $Y = $query->found_posts; // Now, display what we got... echo $X.'/'.$Y; 

Что происходит?
Мы получаем все должности текущей (основной) категории, упорядоченные по дате публикации. Таким образом, у нас уже есть общее количество должностей в этой категории. Затем мы перебираем столбцы и увеличиваем счетчик, чтобы отслеживать индекс текущего сообщения. Наконец, мы показываем эти цифры где-то.