Я работаю над темой с CPT. В single-cpt.php я хочу показать номер сообщения из общего числа сообщений.
Мне удалось показать общее количество сообщений в порядке, используя:
<?php $args = array(
'post_type' => 'cpt_type',
'post_status' => 'published',
'numberposts' => -1
);
echo $num = count( get_posts( $args ) ); ?>
и он возвращает общее количество сообщений для этого типа CPT. Итак, на каждом отдельном CPT я получил общее количество.
Я хотел бы иметь "номер поста"/"общее количество постов". Пример: 21.07, и когда я перехожу к следующему посту: 21.08 и так далее...
Итак, как я могу заставить каждый отдельный пост иметь «номер»?
Спасибо!






Вставьте это в functions.php:
function get_total_number_of_posts( $post ) {
$posts = get_posts( array(
'post_type' => $post->post_type,
'posts_per_page' => -1
) );
return count( $posts );
}
function get_current_post_index( $post ) {
$posts = get_posts( array(
'post_type' => $post->post_type,
'posts_per_page' => -1
) );
$index = 0;
foreach ( $posts as $p ) {
$index++;
if ( $p->ID === $post->ID ) {
break;
}
}
return $index;
}
а затем в файле single.php:
global $post;
$total_posts = get_total_number_of_posts( $post );
$current_post = get_current_post_index( $post );
echo "You are viewing {$current_post} out of {$total_posts}";
БЛАГОДАРНОСТЬ!!!! Это сработало с небольшой настройкой: я изменил: 'post_type' => $post->post_type, для 'post_type' => 'my_post_type',