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

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

Когда я занимался доработкой блога одной популярной музыкальной группы, передо мной стояла задача добавитькалендарь для сайта для отображения предстоящих событий. Причем таким образом, чтобы в виджете отображалась превью-картинка ближайшего по дате концерта. Если б это был текст — все просто, ставим известный плагин или код списка будущих публикаций. Все же плагины, которыми я пользовался для реализации календаря для сайта на WordPress в описанном выше ракурсе либо не позволяли осуществить эту идею, либо приходилось залезать во внутренний код плагина и дописывать самостоятельно, чтобы реализовать эту функцию. Однако случайно я напал на один отличный вариант, который с помощью встроенных возможностей позволял это сделать — его название Events Manager. Он обладает огромными возможностями по настройке и выводу информации — присутствует даже функция бронирования билетов на мероприятие. В общем смотрим видео и устанавливаем календарь на сайт WordPress.

Установка плагина афиши календаря для сайта

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

Для ярых ненавистников каких-либо плагинов — инструкция по созданию календаря для сайта без употребления оных.

Сначала создаем для записи, которая у нас будет анонсом события, произвольные поля:

1. Имя поля: data_end_gg_mm_dd
2. Значение: 11.08.04 (дата события — год.месяц.день, каждое значение — 2 цифры)

После этого в сайдбар вставляем нижеследующий php-код, где надо в строке

cat=3&showposts=15

задать ID нужной категории и количество выводимых записей:

<?php 

// дата сервера
$date_today_server = date("y.m.d");

// параметры для вывода записей
query_posts('cat=3&showposts=15&orderby=meta_value_number&meta_key=data_end_gg_mm_dd');
if (have_posts()) : while (have_posts()) : the_post();
// произвольное поле
$data_end_post = get_post_meta($post->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 <= $date_today_server) 
{} else {
?>

<li><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
<?php the_title(); ?></a>
(Дата события: <?php echo "$daypost ".$arrpost[intval($monthpost)]." $yearpost"; ?></li>
<?php
} 
endwhile; 
endif; 
?>

За код отдельное спасибо автору блога n-wp.ru

Поделись этой статьей с друзьями!

Это будет интересно прочитать:

Комментариев: 22

    • В Календаре имеется в виду?
      Там не надо ничего подключать, просто в настройках плагина надо перевести и заменить английский текст на русский.

      • Александр, подскажите, пожалуйста, где в настройках можно изменить заголовок страницы с перечнем событий определенного дня, которая открывается после нажатия на один из дней календаря (виджет)?
        На данный момент, у меня выводится «Семинары — такая-то дата». Мне же необходимо «События — такая-то дата». Также, в админ панели блога название закладки событий не «События» как у вас, а «Семинары».
        Исправил в файле dbem-ru_RU.po слово «Семинары» на События» — результата нет.
        Страница (page) событий у меня называется таки События 🙂
        Помогите, пожалуйста.

        • Зашел на ваш сайт — там везде события написаны. Может вы используете плагин для кеширования и у вас просто не обновляется? Отключите его и обновите страницу или кеш попробуйте почистить

  • Я не нашла в настройках изменение языка(
    В General Options можно поменть locations- язык не поменялся
    Больше ничего нет вроде-бы. Наверное плохо смотрю?

    • Заходите в меню: События > Настройки > Formats/Layouts
      Там открываете вкладки разные и переводите текст начиная с вкладки «Формат проведения» на русский

  • Спасибо
    Вручную все переводить? Все равно не переведется все,я думала что0то с файлами po и мо, но не получается 🙁

    • Да, переводите вручную и сохраняете изменения. Языковые файлы не надо трогать

  • Это неудобно и не все переведется, но спасибо:)
    Просто здесь у Вас на видео плагин на русском. Я надеялась, что способ есть

  • Ссылка с subscribe кривовата. Наверное стоит исправить.
    Плагин интересный, но специфичный. Для себя не применить..

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

  • Хороший плагин, особенно подойдет людям, которые занимаются инфобизнесом и продают тренинги. Можно сделать расписание тренингов на сайте.

  • У меня проблема такого характера: все поставил, все настроил, добавил событие. Через пару дней у меня в админке из меню тупо пропали пункты добавить событие и список событий. А в пункте помощь выдается ошибка: Warning: Invalid argument supplied for foreach() in /www/wp-content/plugins/events-manager/admin/em-docs.php on line 300 Я обновил плагин: не помогло. Вернул старый, поставил в настройках «Пользовательские возможности» все галочки у админа и вроде все заработало и пункты вернулись. Но через минут пять опять то же самое! Настройки больше вообще нигде не трогал, почему то само раз и пропало все. Надеюсь понятно изложил) Можешь помочь, пожалуйста?

    • Попробуйте отключить все плагины, кроме этого. Если будет нормально работать, значит он конфликтует с каким-то из установленных плагинов. Поочередно их все включайте, пока не найдете, с каким именно

  • ха, а когда я в истории браузера посмотрел страницу с добавлением события (http://wp-voprosov.net/56203c/X0UQSApNHkoPRFUaRUFMFREUUV1fWl5MQV4VTRsPV0IZQQxIDxJeShJvRE1HUV4HF1xeTQ==/) и зашел на нее, мне выдало одну единственную фразу: «хакер, что ли?»

    Это вообще нормально? оО Может плагин не работает если не поставить галочку проявить благодарность или еще чего? (галочку ставил, все равно не работает.)

    • Видимо, установлен плагин, защищающий попадание на страницу авторизации по прямому вводу адреса в браузер

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