С помощью какого плагина WP реализовать расписание трансляций радио?

С помощью какого плагина WP реализовать расписание трансляций радио?
Расписание должно задаваться с админки на 7 дней, на фронте выделяться что транслируется в данный момент.
https://yadi.sk/i/Iwrkwymtqmr3m
  • Вопрос задан
  • 392 просмотра
Пригласить эксперта
Ответы на вопрос 1
rpsv
@rpsv
делай либо хорошо, либо никак
Плагины я думаю искать смысла нет, можно ручками быстро накидать шорткод (ну или виджет).
Порядок действий:
  1. создаете новый тип постов (к примеру "Расписание радио") - wp-kama.ru/function/register_post_type
  2. добавляете мета атрибут к данному посту (к примеру "День недели" и "Время" - отдельно) - wp-kama.ru/function/add_meta_box
  3. создаете шорткод, который выводит текущее расписание - wp-kama.ru/function/add_shortcode


Что-то вроде примера шорткода:
$nowDay = date("N");
$nowTime = date("G") * 60 + date("i"); // переводим в цифры, с ними удобнее

// выбираем расписание

$posts = new WP_Query([
	"post_type" => "тип поста",
	"meta_query" => [
		[
			"key" => "день недели",
			"value" => $nowDay
		]
	]
]);
$posts = $posts->get_posts();

// проходим 

for ($i=0; $i < count($posts); $i++) {
	$cur = $posts[$i];
	$curTime = (int) get_post_meta($cur, "время в цифрах", true);
	$curName = $post->post_title;
	//
	$next = $posts[$i+1];
	$isNowPlay = false;
	if ($next) {
		$nextTime = (int) get_post_meta($next, "время в цифрах", true);
		$isNowPlay = $nowTime >= $curTime && $nowTime < $nextTime;
	}
	//
	$m = $nextTime % 60;
	$h = intval(($nextTime - $m) / 60);
	echo ($isNowPlay) ? "Воспроизводиться сейчас" : $h.":".$m;
	echo $curName;
}


Название поста и мета собственно подставить свои
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы