Андреич™ задавал уже вопрос о том, как пронумеровать записи по порядку. Использование ID для этого не подходит, потому что номер ID присваивается всем элементам, записываемым в базу данных, и далеко не в том порядке, в каком они появляются в блоге. Да и удаление записи из базы данных оставит дыру в нумерации, потому что единожды присвоенный номер ID уже не меняется. Чтобы пронумеровать записи, нужно использовать отдельную функцию, которая будет считать посты при выводе в цикле – при изменении количества функция будет отображать и новую нумерацию.
Чтобы было удобно использовать эту функцию в шаблоне, нужно разделить код на две части – на код функции и ее вызов. Вставьте код функции в файл functions.php используемой вами темы:
function PostNumbers() {
global $wpdb;
$querystr = "SELECT $wpdb->posts.* FROM $wpdb->posts WHERE $wpdb->posts.post_status = 'publish' AND $wpdb->posts.post_type = 'post' ";
$pageposts = $wpdb->get_results($querystr, OBJECT);
$counts = 0 ;
if ($pageposts):
foreach ($pageposts as $post):
setup_postdata($post);
$counts++;
add_post_meta($post->ID, 'incr_number', $counts, true);
update_post_meta($post->ID, 'incr_number', $counts);
endforeach;
endif;
}
add_action ( 'publish_post', 'PostNumbers' );
add_action ( 'deleted_post', 'PostNumbers' );
add_action ( 'edit_post', 'PostNumbers' ); Чтобы пронумеровать посты, вставьте вызов функции в цикл вывода постов:
ID,'incr_number',true); ?>
Цикла вывода можно определить примерно по такому коду:
это текст внутри цикла
Теперь при изменении количества записей будет изменяться и порядковый номер каждой записи.








