it-swarm.com.de

Wie erhalte ich das Erstellungsdatum?

Ich nehme an, ich bekomme die erste Revision eines bestimmten Posts und bekomme das Datum, oder?

Wie geht das?

4
Max

Der post_date und der post_date_gmt dienen als Datum, an dem der Beitrag erstellt wurde. Bei geplanten Posts ist dies das Datum, an dem die Veröffentlichung des Posts geplant ist.

Es gibt keine zuverlässige native Methode zum Ermitteln des Datums, an dem ein geplanter Beitrag hinzugefügt wurde. Bei geplanten Posts können Sie das Datum post_modified oder post_modified_gmt ausprobieren, da dies dem Zeitpunkt entspricht, als der Post zum ersten Mal hinzugefügt wurde. Sie müssen bedenken, dass dies unzuverlässig ist, da sich dieses Datum ändert, wenn ein Beitrag geändert wird

Eine andere (auch unzuverlässige) Methode ist die Verwendung von Revisionen. Wenn Sie Revisionen aktiviert haben, wird beim Planen oder Veröffentlichen eines Beitrags eine Beitragsrevision gespeichert. Diese Revision, die nach dem geplanten Beitrag gespeichert wird, wenn auf die geplante Schaltfläche geklickt wird, enthält das aktuelle Beitragsdatum, an dem auf die geplante Schaltfläche geklickt wird. Überprüfen Sie das Bild unten

 enter image description here 

Wenn Sie dies zuverlässig tun möchten, müssen Sie Ihre eigene benutzerdefinierte Funktion schreiben, um die genaue Uhrzeit zu speichern, zu der auf die geplante Schaltfläche geklickt wird, um einen Beitrag zu planen

5
Pieter Goosen

Ich brauchte die gleichen Informationen und habe es selbst herausgefunden. Sie müssen eine benutzerdefinierte Abfrage erstellen, um den ersten _wp_old_date aus der postmeta-Tabelle abzurufen, wie von @dipak_pusti vorgeschlagen. Führen Sie die folgende Anweisung aus:

global $wpdb;
$post_id = 1234;
$meta_key = '_wp_old_date';
$post_create_date = $wpdb->get_var( $wpdb->prepare(
    "
        SELECT MIN($wpdb->postmeta.meta_value) as post_create_date
        FROM $wpdb->postmeta
        WHERE $wpdb->postmeta.post_id = %d
            AND $wpdb->postmeta.meta_key = %s
    ",
    $post_id,
    $meta_key
) );

if(is_null($post_create_date)) {
    $post_create_date = get_the_date('Y-m-d', $post_id);
}

echo "<p>Post create date is: {$post_create_date}</p>";

Hinweis: Wenn der _wp_old_dateNULL ist (dies bedeutet, dass sich das Veröffentlichungsdatum nie geändert hat), können Sie das Datum von get_the_date('Y-m-d', $post_id) verwenden.

1
haze

Als ich mit der gleichen Art von Fall wie Sie feststeckte, fand ich einen Metaschlüssel _wp_old_date mit einem Metawert, der ein Datum darstellt.

Durch Googeln wurde festgestellt, dass eine Funktion verwendet wird, um den alten Wert zu speichern, wenn ein Beitrag oder ein Objekt geändert wird.

https://wpseek.com/function/wp_check_for_changed_dates/

Ich weiß, das ist eine sehr späte Antwort, aber es kann anderen in Zukunft helfen. :)

0
dipak_pusti

Verwenden Sie get_the_date(); , um das in der Meta-Box "Publish" im Feld "Published on .." definierte Datum abzurufen. Dies ist normalerweise das Datum, an dem der Benutzer den Beitrag erstellt hat, es sei denn, er ändert es.

0
Fleuv