Как пронумеровать записи по порядку

Как пронумеровать записи по порядку | n-wp.ru
Пример функции, нумерующей все посты по порядку, и записывающей номер каждого поста в базу данных. При изменении количества постов изменяется и его порядковый номер в базе. Этот номер не связан с ID поста.
👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Андреич™ задавал уже вопрос о том, как пронумеровать записи по порядку. Использование 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); ?>

Цикла вывода можно определить примерно по такому коду:

это текст внутри цикла

Теперь при изменении количества записей будет изменяться и порядковый номер каждой записи.

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий