WordPress „Show_Last_Modified_Date“ mit Code-Snippet anzeigen

Kategorie: WordPress

Tags: Duba.blog / Internes / Ohne Plugin / Plugin / WordPress

Veröffentlicht am

In diesem Beitrag erfahren Sie, wie man relativ einfach das Datum der letzten Aktualisierung eines Beitrags anzeigen lassen kann. Zu diesem Zweck habe ich aus seriösen Quellen folgende Lösungsvarianten getestet. In meiner aktuellsten WP 5.9 haben alle funktioniert.

Bisher nutzte ich das ansonsten tadellos funktionierende Plugin Last Modified Info. Aus mir unerklärlichen Gründen wurden im Adminbereich plötzlich folgende Meldungen angezeigt:

Warning: Undefined property: stdClass::$post_status in .../wp-last-modified-info/inc/Core/Backend/EditScreen.php on line 54

Warning: Undefined property: stdClass::$post_status in .../wp-last-modified-info/inc/Core/Backend/MetaBox.php on line 48

Warning: Cannot modify header information - headers already sent by (output started at .../wp-last-modified-info/inc/Core/Backend/EditScreen.php:54) in .../wp-admin/admin-header.php on line 9

Diese Meldungen hat im Plugin Support Forum außer mir anscheinend niemand (?). Eine Supportanfrage wegen eines anderen Fehlers (Plugin ignoriert eingestellten “Time Gap”) blieb bis heute unkommentiert. Weiters hat das Plugin 0 von 9 behobene Probleme in den letzten zwei Monaten.

Code-Snippet in funkctions.php einfügen

Quelle: Dieser Beitrag von Affde
Fügen Sie diesen Code in Ihre Datei funkcions.php ein. Damit zeigen Sie das letzte Änderungsdatum und das Veröffentlichungsdatum gleichzeitig an:

function show_last_modified_date( $content ) {
$original_time = get_the_time('U');
$modified_time = get_the_modified_time('U');
if ($modified_time >= $original_time + 86400) {
$updated_time = get_the_modified_time('h:i a');
$updated_day = get_the_modified_time('F jS, Y');
$modified_content .= '<p class="last-modified">Aktualisiert am '. $updated_day . '</p>';
}
$modified_content .= $content;
return $modified_content;
}
add_filter( 'the_content', 'show_last_modified_date' );

Achtung: Mit dem gezeigten Code erhielt ich zuerst einer Fehlermeldung über dem korrekt angezeigten Aktualisierungsdatum. Die Variable (?) $modified_content sei unbekannt. Ohne erklärbaren Grund und mit minimalen PHP Kenntnissen habe ich den Punkt ( .) nach $modified_content gelöscht – und die Fehlermeldung war weg. Das heißt keine Garantie! Gilt ebenso im nächsten Punkt.

Aktualisierungsdatum nur in einer Kategorie anzeigen

Quelle: Forum GeneratePress
Fügen Sie diesen Code in Ihre Datei funkcions.php ein. Damit zeigen Sie das letzte Änderungsdatum nur in der Kategorie mit der ID 1139 an.

function show_last_modified_date( $content ) {
    if ( ! in_category( 1139 ) ) {
        return $content;
    }

    $original_time = get_the_time('U');
    $modified_time = get_the_modified_time('U');
    $modified_content = '';

    if ($modified_time >= $original_time + 86400) {
        $updated_time = get_the_modified_time('h:i a');
        $updated_day = get_the_modified_time('jS F, Y');
        $modified_content  .= '<p class="last-modified">This information was updated on '. $updated_day . '</p>';
    }

    $modified_content  .= $content;
    return $modified_content;
}
add_filter( 'the_content', 'show_last_modified_date' );

Snippets sicher einbinden mit “Code Snippets”

Aus mehreren Gründen empfehle ich, der Plugins spart, wo immer es geht, dringend den Einsatz von Code Snippets. Damit wandern alle gespeicherten Snippets auch bei einem Theme Wechsel mit. Außerdem kann jedes Snippet jederzeit deaktiviert werden und man behält die Übersicht!
Wichtig: „Nur im Frontend ausführen“ aktivieren (siehe Screenshot).

Screenshot WordPress Plugin "Code Snippets"
Screenshot WordPress Plugin “Code Snippets”

Einfügen mit GenerateBlocks und GeneratePress Premium

In diesem Video von GeneratePress wird verständlich beschrieben, wie man das Aktualisierungsdatum in einem Block-Element “HERO Post Header” dynamisch anzeigt. Für ein Beispiel brauchen Sie nur nach oben zu sehen. Ein weiterer kleiner Schritt Richtung Perfektion. 😉

Liebe Grüße und bleibts gsund!

Titelbild von Code Snippets