Я использую эту функцию, чтобы получить количество сообщений:

$postAmount = wp_count_posts( 'post' )->publish;

Это вернет 4, что является правильным числом. Но есть ли еще функция, где я могу проверить текущий номер сообщения? Не идентификатор, а только номер.

Например, я на втором посте, поэтому хочу, чтобы функция возвращала «2».

Дополнительная информация

$wp->query->current_post+1 возвращает 0 при каждом сообщении

1
Maarten Wolfsen 19 Апр 2016 в 16:16

2 ответа

Лучший ответ

Вы правильно поняли, но сделали небольшую опечатку. Вы хотите

$wp_query->current_post

Или

$wp_query->current_post + 1

В зависимости от того, хотите ли вы считать, начиная с нуля.

enter image description here

Найдите current_post в кодексе WP_Query https://codex.wordpress.org/Class_Reference/WP_Query

3
Tulio Troncoso 19 Апр 2016 в 13:43

Используйте $ wp_query-> current_post + 1 вместо $ wp-> query-> current_post + 1

Полный код вроде ..

<?php

$postArg = array('post_type'=>'post',
                        'posts_per_page'=>-1,
                        'order'=>'desc',
                      );
        global $post;
        $getPost = new wp_query($postArg);
            if($getPost->have_posts()){
            echo '<ul>';
                while ( $getPost->have_posts()):$getPost->the_post();   

                     $index= $getPost->current_post + 1;
                     echo "<h2>".$post->post_title."</h2>".$index;

                endwhile;
            echo '</ul>';
        }

?>
0
Samir Sheikh 19 Апр 2016 в 13:56