2016-03-28 4 views
0

Ich benutze ein Wordpress-Plugin namens EventOn, um Ereignisse auf einer Website zu erstellen. Das Plugin erstellt einen benutzerdefinierten Beitrag für jedes Ereignis und speichert das Ereignisdatum in einem Metaschlüssel namens evcal_srow , wobei der Wert in Unix-Zeit gespeichert wird (z. B. 1464739500).Konvertieren Sie alle Unix Timestamp Zeichenfolgen auf einer Wordpress-Seite

Nun, was ich hier erreichen möchte, ist diese benutzerdefinierten Beiträge über Slider Revolution zu ziehen, indem Sie einen Shortcode vom Schieberegler verwendet, um ein benutzerdefiniertes Feld aus dem benutzerdefinierten Beitrag ziehen, in diesem speziellen Fall ist der Shortcode {{ Meta: evcal_srow}}

Hier ist, wie ich die Thumbnails über Schieberegler revo Navigations Editor bin zu erzeugen:

<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> 

Alles funktioniert gut, wie ich bin in der Lage Post-Titel zu ziehen, featured Bild und das Datum erfolgreich , aber ich müsste das Datum in ein menschliches Format umwandeln.

Wenn ich eine normale Seite zu schaffen, dann würde ich eine Vorlage-Datei erstellen und fügen Sie so etwas wie

<?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>"; 
?> 

obwohl die Art, wie ich Daten ziehen bin über die Schiebereglereinstellungen ist, so gibt es keine Möglichkeit, ich kann ist Verwenden Sie PHP in diesem Szenario, weil es nicht erlaubt ist (es sei denn, Sie haben eine bessere Idee natürlich!). Außerdem kann ich die Plug-in-Dateien nicht direkt bearbeiten, da ich sie in Zukunft aktualisieren muss, und ich bin mir nicht sicher, ob es ein ähnliches Thema für die Plug-ins gibt.

Das erste, was ich denke, würde etwa ist alle Selektoren .thumb-Event-Datum zu konvertieren in der Seite, nachdem die Seite geladen wird, vielleicht einige JS oder jQuery verwenden, habe ich viele Möglichkeiten ausprobiert, aber kann‘ t irgendwelche positiven Ergebnisse erhalten.

Es wäre super toll, wenn jemand in der Lage wäre, eine Lösung zu finden. Vielen Dank für Ihre Zeit.

Lösung (! Vielen Dank Paul)

  • Gehen Sie zu Ihrem Schieber Einstellungen
  • Finden Sie die Individuelle Javascript Abschnitt und diese hinein einfügen:

    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()); 
        }); 
    

    });

Antwort

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

Dank für Ihre Hilfe Paulooze Ihr Snippet Sinn macht, wenn es nicht funktioniert:/Hier ist der Code ich jetzt benutze: ' 'Keine Ahnung warum :(versuchte, dieses Skript zwischen den Kopf-Tags und auch im Körper versucht. – Pelly

+0

Kannst du es ausarbeiten? Warum funktioniert es nicht? Ich habe es selbst versucht (Ich habe Ihre Zeitstempel in ul und lief diesen Code und (Es konvertierte die Werte in ISO Strings.) – Paulooze

+0

es konvertiert nur nicht die Zeichenfolge. Die Konsole zeigt keine Fehler weder. – Pelly