На своем сайте joid.ru я жутко захотел присвоить каждой записи порядковый номер и вывести его, мне кажется так удобнее искать заметки если не помнишь заголовка. Сложность состояла в том что стандартный скрипт который есть в инете нумерует все записи, а я хотел только в определенной рубрике, так как в других рубриках находится контент не относящийся к заметкам, соответственно нумерация была бы не относительна количеству. Изменив запрос к базе данных вот что получилось, этот код нужно вставить в functions.php:

function updateNumbers() {
global $wpdb;
$querystr = "
SELECT $wpdb->posts.*, tp2.*, tp3.*
FROM $wpdb->posts
LEFT JOIN $wpdb->term_relationships tp2 ON ( $wpdb->posts.ID = tp2.object_id )
LEFT JOIN $wpdb->postmeta tp3 ON ( $wpdb->posts.ID = tp3.post_id )
WHERE $wpdb->posts.post_status = 'publish' AND tp2.term_taxonomy_id = (здесь ID рубрики в которой нумеруются записи) AND tp3.meta_key = '_edit_last'";
$pageposts = $wpdb->get_results($querystr, OBJECT);
$counts = 0 ;
if ($pageposts):
foreach ($pageposts as $post):
setup_postdata($post);
$counts++;
add_post_meta($post->ID, 'post_number_cat', $counts, true);
update_post_meta($post->ID, 'post_number_cat', $counts);
endforeach;
endif;
}

Этот код будет выводить номер записи, его нужно вставить в page.php

<?php echo get_post_meta($post->ID,'post_number_cat',true); ?>

Похожие записи

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *