2016-03-28 2 views
0

Я использую плагин Wordpress с именем EventOn для создания событий на веб-сайте. Плагин создает настраиваемую запись для каждого события и будет хранить дату события в мета-ключе с именем evcal_srow , где значение хранится во время Unix (например, 1464739500).Преобразование всех строк Timestamp Unix на странице Wordpress

Теперь то, что я пытаюсь достичь, состоит в том, чтобы вытащить эти пользовательские сообщения через Slider Revolution, используя короткий код, предоставленный слайдером, чтобы вытащить пользовательское поле из пользовательского сообщения, в этом конкретном случае короткий код равен { мета: evcal_srow}}

Вот как я генерации эскизов через навигации редактора Slider Revo в:

<span class="tp-thumb-image"> 

     <h3 class="thumb-event-title"> 
      {{title}} 
     </h3> 

     <h2 class="thumb-event-date" style="color:#fff"> 
      {{meta:evcal_srow}} 
     </h2> 

</span> 

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

Если бы я создавал нормальную страницу, то я бы создать файл шаблона и добавить что-то вроде

<?php 
    $ts = get_post_meta($post->ID, 'evcal_srow', true); 
    $date = new DateTime("@$ts"); 
    echo "<div class='datum'>".$date->format('d.m.Y')."</div><div class='uhrzeit'>".$date->format('H:i')."</div>"; 
?> 

, хотя, как я тяну данных осуществляется с помощью настройки ползунков так что нет никакого способа, я могу используйте php в этом сценарии, потому что это недопустимо (если у вас нет лучшей идеи, конечно!). Также я не могу редактировать файлы плагинов напрямую, так как мне нужно обновить его в будущем, и я не уверен, что есть что-то похожее на дочернюю тему для плагинов.

Первое, что я думаю о том, чтобы преобразовать все селекторы .thumb-EVENT-дата на странице после загрузки страницы, возможно, используя некоторые JS или JQuery, я перепробовал много способов, но может» t получить положительные результаты.

Было бы здорово, если бы кто-нибудь смог придумать решение. Большое спасибо за ваше время.

Решение (! Большое спасибо Paul)

  • Перейти к настройкам
  • слайдера Найти Пользовательские Javascript раздел и вставьте в него:

    revapi1.on('revolution.slide.onloaded', function() { // Replace the number 1 in revapi1.on with the ID of your slider 
    
        jQuery('.thumb-event-date').each(function(index, value) { // Replace .thumb-event-date with the selector that contains the unix time string 
         jQuery(value).html(new Date(jQuery(value).html()*1000).toISOString()); 
        }); 
    

    });

ответ

0
$('.thumb-event-date').each(function(index, value) { 
    $(value).html(new Date($(value).html()*1000).toISOString()); // put whatever Date() method you want/need (to show human readable format) 
}); 
+0

спасибо за вашу помощь Paulooze ваш сниппет имеет смысл, хотя он не будет работать:/Вот код, я использую сейчас: ' 'Не знаю, почему :(пытался поставить этот скрипт между тегами заголовка, а также пробовал в теле. – Pelly

+0

Можете ли вы уточнить? Почему это не работает? Я попробовал это самостоятельно (я помещал ваши метки времени в ul и запускал этот код и он преобразует значения в ISO-строки). – Paulooze

+0

он просто не конвертирует строку. Консоль не отображает никаких ошибок. – Pelly