
Нумерация постов может быть очень полезной для пользователей, которые только что пришли на ваш блог, да и не только для только пришедших ,тоже будет полезно знать сколько у вас на блоге записей. Представим такую ситуацию, пользователь вошел на ваш блог в первые и не знает что здесь да как, но если пользователь увидит, что записей уже больше 100 он будет думать так: «блог наполнен и здесь есть что почитать, значит я скорее всего найду то что искал)», а если записей более 500 — то это еще лучше 😉
Для того чтобы отображать свой номер для каждого поста, добавьте следующий фрагмент в functions.php вашей темы или создайте мини плагин с содержанием:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
function updateNumbers() { 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', 'updateNumbers'); add_action ('deleted_post', 'updateNumbers'); add_action ('edit_post', 'updateNumbers'); |
Этот код будет добавлять к каждому новому посту свой номер, в произвольное поле.
Замечание! Этот код работает только для новых постов, чтобы он работал и для старых, нужно эти посты обновить в админ панели.
Для отображения номера для каждого поста, вставьте эту строчку, в цикл loop wordpress:
1 |
<?php echo get_post_meta($post->ID,'incr_number',true); ?> |
В следующей статье вы узнаете: Как обновить все посты и их произвольные поля одновременно (полезно для тех у кого уже накопилось очень много постов/записей и вручную делать это очень утомительно, а в некоторых случаях почти невозможно)… Продолжение следует!