Хаки WordPress — автоматическая нумерация статей на сайте

хак wordpress нумерация статейПриветствую Вас! В данной статье я предлагаю на ознакомление небольшой код, который позволит отобразить на Вашем сайте хронологическую нумерацию статей, причем в автоматическом режиме. Т.е. теперь, когда Вы будете публиковать новую заметку, она автоматически получит порядковый номер, согласно выходу на сайте. Кроме этого, все старые записи так же будут отображать свой номер, без необходимости их повторного публикования.

Довольно удобная функция, которая будет полезна на сайтах, где есть некая статейная "хронология". Вариантов, как использовать данную "штуку", много. Вы сами должны подумать, каким образом она может пригодиться на Вашем сайте.

Ввиду того, что это "хак WordPress", поэтому по привычке открываем файл шаблон functions.php и добавляем перед закрывающим ?> (в самом конце файла) следующий код:

// старт нумерации
function numbers_post() {
    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, 'mojwp_numbers', $counts, true);
        update_post_meta($post->ID, 'mojwp_numbers', $counts);
    endforeach;
endif;
} 
add_action ( 'publish_post', 'numbers_post' );
add_action ( 'deleted_post', 'numbers_post' );
add_action ( 'edit_post', 'numbers_post' );
// конец нумерации

Здесь менять ничего не следует. Как видно из последних трех строчек кода, нумерация будет срабатывать при: добавлении статьи, удалении или редактировании.

Чтобы отобразить порядковое число на сайте, необходимо вставить следующий код в то место, где он должен находиться на сайте:

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

Если уж речь идет о подсчете и нумерации статей, то есть смысл поставить подобное рядом с заголовком. К примеру, на своем сайте я сделал это в следующем месте:

нумерация статей автоматически

Чтобы данный блок не выделялся сильно на сайте и смотрелся гармонично, необходимо его оформить соответствующим образом в файле стилей style.css. Но это индивидуально в каждом конкретном случае, поэтому пробуйте все сделать сами. Учебник и справочник в помощь http://htmlbook.ru/samcss

Как только Вы поместите указанный выше код в соответствующие файлы и сохраните их у себя на FTP, то необходимо будет сделать одно из трех действий, чтобы счетчик начал работать:

  1. опубликовать новую статью;
  2. удалить существующую статью:
  3. обновить любую из существующих статей обычным нажатием кнопки "Обновить" в форме редактирования статьи.

На этом все. Будут вопросы - милости прошу в комментарии к статье. Не забываем ставить +1.

Привет. Меня зовут Виталик и я автор этого блога, а так же Магазина WordPress https://wp-r.ru/.


Отблагодарить Z888279575784 R109400923968 или ЯД 41001651742138

Оказываю услуги по созданию и настройке сайтов на WordPress (верстка, натяжка).

Мои Контакты. Я в Twitter @mojWP. Смотри на Youtube. Читай RSS блога.

Опубликовано 12 комментариев
  1. Марина Лазарева says:
    http://frilka.com

    Любопытная функция, как нибудь попробую 🙂 По крайней мере ты всегда будешь знать, сколько статей уже написано 🙂

    Кстати, красивое число у этой статьи получилось: "Порядковый номер статьи: 88" 🙂

  2. Sueno says:
    http://sueno.ru/

    Виталик, это ж титаническая работа, и большой секрет я так понимаю 🙂 на самом деле функция очень хороша для тематических блогов, сайтов с уроками, да много где. СУПЕР!!!! Кстати а можно ли поставить такое на определеную рубрику а не на все статьи?

  3. Николай says:
    http://zdrawie.com

    Как раз думал про это, как-то не доглядел раньше. Нужно заделать обязательно!

  4. Надежда says:
    http://bestsposob.ru

    Виталий, чтобы все оказалось по порядку, придется "обновить" каждый существующий пост?

    • Виталий says:

      любую статью просто нажмите обновить
      все остальные выстроятся сами
      данное действие будет сигналом к работе кода

      • Надежда says:
        http://bestsposob.ru

        Отлично, спасибо за быстрый ответ. В таком случае лучше подкопить статьи, при пяти статьях на блоге нумерация странновато смотрится.

  5. Женя says:
    http://tut-blog.ru

    Порядковый номер обязательный если блог ведется как:каждая статья - новый урок с номером, новый день блога с номером. Видел просто такие блоги и смотрится очень симпатично.

  6. Михаил says:

    О боже! Я эту функцию искал 2 дня!
    Какое счастье, что нашел именно в Вашем блоге. Спасибо большое. 🙂

  7. Александр says:
    http://photo-ya.com/

    А есть вариант, чтобы номер вывести прям в заголовке?

    Например:

    87. Хаки WordPress — автоматическая нумерация статей на сайте
    88. Продолжение. Хаки WordPress — автоматическая нумерация статей на сайте
    89. и тд..

    • Виталий says:
      http://mojWP.ru/

      Вставьте код вывода нумерации перед заголовком статьи

      • Александр says:
        http://photo-ya.com/

        Окей. Спасибо

  8. Alex says:
    http://history-tema.com/

    Привет! А у меня Дагон стоит (плагин). Я попытался воспользоваться Вашим уроком - увы, не получилось...

Не держи в себе. Выскажись.

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

© 2011-2017 | mojwp.ru | Копирование материала разрешено только с письменного согласия
WordPress: 11.51MB | MySQL:80 | 0,211sec
Премиальные плагины для CMS WordPress
Магазин WordPress WP-R.ru
Спасибо, не показывайте мне эту штуку больше!
Смотри мои обучающие видео на YouTube
Иван только что купил плагин ELT https://wp-r.ru/plaginy/elt.html