Календарь событий без плагина

Код, отображающий календарь событий, как прошедших, так и еще только намечающихся.
👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Допустим в sidebar вам нужно вывести события которые должны пройти в какой то будущий день, и вы хотите показывать посетителям сайта эти события которые еще не прошли.
К примеру на моем сайте это афиша мероприятий.

Чтобы вывести афишу событий вам нужно создать у записи произвольное поле в таком виде:

Имя поля: data_end_gg_mm_dd
Значение: 11.08.04

Где Значение — просто дата события вида — Год.Месяц.День (вводите все числа двумя цифрами гг.мм.дд)

Далее в нужное место в sidebar вставляем код:

ID, 'data_end_gg_mm_dd', true); // получаем произвольное поле

list($yearpost, $monthpost, $daypost) = explode(".", $data_end_post); // преобразуем дату в человечный вид
$arrpost = array(1 => "января", 2 => "Февраля", 3 => "марта", 4 => "апреля", 5 => "мая", 6 => "июня", 7 => "июля", 8 => "августа", 9 => "сентября", 10 => "октября", 11 => "ноября", 12 => "декабря"); // преобразуем дату в человечный вид
if(preg_match("|^d{2}$|", $yearpost)) $yearpost = "20$yearpost"; // преобразуем дату в человечный вид

if ($data_end_post 
<li><a href="" title=""></a> (дата события: </li>

не забываем поменять в 3 строке: cat=3&showposts=15
Где:
cat= ID категории
showposts= Сколько записей отображать

В принципе такой простой код. Задавайте вопросы в комментариях.

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

zetrider

Кодинг, дизайн, wordpress

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

  1. answersolid

    Уважаемый zetrider, а как разделить эти мероприятия на две колонки — одна с анонсами будущих, одна с прошедшими?

    Ответить
  2. zetrider автор

    при помощи CSS и небольшой правкой кода в этом месте:

    if ($data_end_post <= $date_today_server) // если наша дата меньше или равна дате на сервере то выводим посты 
    {} else {
    Ответить
    1. answersolid

      Спасибо, буду разбирать)

      Ответить
  3. dim555

    Подскажите как сделать подобное как на этом сайте http://www.calend.ru,(именно сегодня такое то число и выводятся праздники за это число) все уже перепробовал и плагины разные. Может можно как то с помощью произвольных полей, допустим я указываю дату праздников в производном поле(только число и месяц праздника), а мне потом уже каждый год в это число и месяц будет выводиться этот праздник. Праздники это будет просто список статей на блоге с указанной датой этого праздника в произвольном поле.

    Ответить
  4. zetrider автор

    Вашу задачу решить очень просто. Вы правы при помощи произвольных полей. Просто нужно создать PHP условие которое будет сверять вашу даты с сегодняшней, не учитывая год.
    Дальше разберетесь?

    Ответить
  5. asha

    Помогите, пожалуйста! Как создать это условие? Я совсем не знаю, просто «0» в php
    Мне надо вывести в левом сайдбаре 1 статью из рубрики «Календарь меломана» за текущее число.
    Например для sidebar.php нашла код:

    Календарь событий

    have_posts()) : $the_query->the_post(); $do_not_duplicate = $post->ID; ?>