2012-04-17 4 views
0

Можно ли получить точный счетчик каждого сообщения для отображения в теме, которую я делаю? Так, например, если у меня есть 100 сообщений, последнее сообщение будет иметь число 100, то есть до этого: 99 и т. Д. Я не могу использовать идентификатор сообщения, потому что это всегда увеличивается на 2 (большую часть времени), что делает его очень неуместным в качестве счетчика.Показать количество сообщений в Wordpress

+0

сообщение Id не будет увеличиваться на 2, она будет увеличиваться с каждым пересмотром вы делаете. когда когда-либо вы делаете сообщение/страницу (или какой-либо посттип) загрузки чего-либо и даже пунктов меню. Все они входят в таблицу wp_posts. – janw

ответ

0

Попробуйте это, посмотрите на результаты, вы получите эту идею.
Не забывайте, что массив начинается с 0 не 1.

Каждый элемент массива будет содержать идентификатор сообщения. поэтому, если товар (ключ) NR 15 является таким же, как текущей страницы ID, то текущий элемент # 16 (15 + 1)

<?php 
global $wpdb; 
$query = "SELECT `ID` 
    FROM `$wpdb->posts` 
    WHERE `post_status` = 'publish' 
    AND `post_type` = 'post' 
    ORDER BY `post_date` ASC 
    " 
; 
$count = $wpdb->get_col($query); 

var_dump($count); 

Moar информация: wpdb
ли посмотреть на запрос, если вы согласны с моим заказом.

+0

. Это отлично работает с небольшой модификацией вашего запроса. Я использовал это вместо: 'SELECT ID FROM $ wpdb-> posts WHERE post_type IN ('post', 'gallery', 'portfolio') AND post_status = 'publish' AND id = $ id ORDER BY post_date ASC'. Теперь я могу генерировать числа в целом для всех типов сообщений. – enchance

0

Вы должны будете использовать «счетчик», там что-то вроде этого:

$i=1; 

while(have_posts): 

    .... 
    <h2><?php echo $i.' - ';?><?php the_title();?> 
    ... 
    $i++; 

endwhile; 
Смежные вопросы