Support » Allgemeine Fragen » Letztes Post-Update anzeigen anstelle von Veröffentlichungsdatum

  • wordmaster1

    (@wordmaster1)


    Hallo,

    Anstelle des Veröffentlichungsdatums möchte ich das Datum des letzten Updates über jedem Beitrag anzeigen lassen (bestenfalls sollte es sogar in den SERP’s erscheinen).

    Hat hierfür jemand eine Idee für einen passenden PHP-Code, den ich direkt so in die functions.php integrieren kann?

    Ich finde das Datum des letzten Updates enorm wichtig und frage mich, warum es nicht direkt eine integrierte Funktion hierzu im WordPress-Backend gibt.

    Wie macht ihr das?

Ansicht von 11 Antworten - 1 bis 11 (von insgesamt 11)
  • Moderator Bego Mario Garde

    (@pixolin)

    Ich verwende dazu bei Bedarf in einem Child Theme die Funktionen, die mir WordPress zur Verfügung stellt.

    the_modified_date() zeigt Datum und Uhrzeit der letzten Änderung.
    the_date() zeigt das Datum der Veröffentlichung, wobei bei mehreren Blogbeiträgen des gleichen Tags das Datum nur einmal ausgegeben wird.
    the_time() gibt das Datum und die Zeit der Veröffentlich aus, auch wenn bereits Beiträge aufgelistet wurden, die am gleichen Tag veröffentlicht wurden.

    wordmaster1

    (@wordmaster1)

    Eine Idee für einen kompletten Code, den ich direkt kopieren und einfügen kann und der ausschließlich das modified date auf Posts anzeigt?

    Ich bin nicht so gut im selber basteln von PHP … 😉

    Moderator Bego Mario Garde

    (@pixolin)

    „Eine Idee für einen kompletten Code, den ich direkt kopieren und einfügen kann …“

    … findest du auf den bereits verlinkten Referenz-Seiten.

    wordmaster1

    (@wordmaster1)

    Und wie schaffe ich es, dass das Datum des modified date dann nur und einzig auf den Artikeln (oben über dem Artikel) angezeigt wird und nicht auch auf Seiten, der Hauptseite oder sonst wo?

    Moderator Bego Mario Garde

    (@pixolin)

    In dem du die Funktion entweder in einem passenden Template unterbringst (Stichwort: Template-Hierarchie – kurzgefasst: WordPress entscheidet anhand der Query, welches Template verwendet werden soll und nutzt zur Darstellung eines einzelnen Beitrags ein anderes Template als für z.b. eine statische Seite, eine Beitrags-Übersichtsseite oder ein Beitrags-Archiv) oder ein so genanntes Conditional Tag verwendest, also eine if-Abfrage, mit der je nach angezeigtem Inhalt unterschiedliche Dinge ausgegeben werden.

    Es wäre sicherlich leichter gewesen, wenn du eine URL zu deiner Website angegeben oder zumindest das von dir genannte Theme genannt hättest. So bleibt das ein wenig theoretisch.

    wordmaster1

    (@wordmaster1)

    Ich nutze das Flatsome Theme.

    Ich hatte bereits folgenden Code integriert:

    function wpb_last_updated_date( $content ) {
    $u_time = get_the_time(‚U‘);
    $u_modified_time = get_the_modified_time(‚U‘);
    if ($u_modified_time >= $u_time + 86400) {
    $updated_date = get_the_modified_time(‚F jS, Y‘);
    $updated_time = get_the_modified_time(‚h:i a‘);
    $custom_content .= ‚<p class=“last-updated“>Last updated on ‚. $updated_date . ‚ at ‚. $updated_time .'</p>‘;
    }

    $custom_content .= $content;
    return $custom_content;
    }
    add_filter( ‚the_content‘, ‚wpb_last_updated_date‘ );

    Den Code hatte ich so von dieser Seite übernommen: https://www.wpbeginner.com/wp-tutorials/display-the-last-updated-date-of-your-posts-in-wordpress/

    Funktionierte alles prima. Nur eben mit dem „kleinen“ Schönheitsfehler, dass das modified date auf der gesamten Seite angezeigt wird…

    So geht das natürlich nicht.

    Moderator Bego Mario Garde

    (@pixolin)

    Nein, so geht das natürlich nicht.

    Lösungsansatz siehe oben.

    wordmaster1

    (@wordmaster1)

    Aus diesem Lösungsansatz kann ich trotzdem keine klare Handlungsanleitung erkennen 😉

    Gibt es nicht einen Befehl, den ich hierzu direkt mit in den angegebenen Code einfügen kann?

    Wenn nicht, weißt du den genauen Befehl, den ich bei Verwendung dieses Codes woanders unterbringen muss (wo genau?), um das modified date ausschließlich auf Beiträgen anzuzeigen?

    Wie gesagt, ich bin kein Techniker, sondern mein Gebiet ist eher die Content-Erstellung… 😉

    Moderator Bego Mario Garde

    (@pixolin)

    Du bekommst WordPress, rund 55.000 Plugins und 4.500 Themes kostenlos zur Verfügung gestellt und bei Anwendungsfragen geben dir hier Freiwillige in ihrer freien Zeit Hilfe zur Selbsthilfe.

    Wenn du „kein Techniker“ bist, dich als „nicht so gut im selber basteln von PHP“ einschätzt und dein Theme keine Einstellungsoptionen für die gewünschte Änderung anbietet, musst du dich entweder einarbeiten oder einen Dienstleister beauftragen.

    Zu gekauften Themes können wir dir nicht weiterhelfen, weil sie uns nicht kostenlos zur Verfügung stehen. Das steht so in unseren Foren-Regeln und ich gehe davon aus, dass du sie dir durchgelesen hast, bevor du hier einen Thread gestartet hast.

    Die Handlungsanleitung, die sich eigentlich bereits aus den bisherigen Antworten ergeben hat, ist:

    entweder erstellst du ein Child Theme, suchst gemäß Template-Hierarchie ein Template für die Darstellung einzelner Beiträge (z.B. single.php) und fügst dort die genannten Zeit-Funktionen, die WordPress dir zur Verfügung stellt ein (welche das sind, habe ich dir mitgeteilt)

    oder du arbeitest mit einem Filter und schränkst die Funktion mit einem Conditional Tag ein. Das kann z.B. so aussehen:

    function wpb_last_updated_date( $content ) {
        // irrelevanten Code ausgelassen … 
    
        $custom_content .= $content;
        // Conditional Tag: is_single()
        if( is_single() ) { 
          return $custom_content;
        } else {
          return $content;
        }
    }
    add_filter( 'the_content', 'wpb_last_updated_date' );

    Viel Erfolg.

    wordmaster1

    (@wordmaster1)

    Du bekommst WordPress, rund 55.000 Plugins und 4.500 Themes kostenlos zur Verfügung gestellt und bei Anwendungsfragen geben dir hier Freiwillige in ihrer freien Zeit Hilfe zur Selbsthilfe.

    Deshalb bin ich ja im Forum. Es freut mich, wenn Freiwillige helfen wollen. Ich weiß das durchaus zu schätzen, zwinge aber auch niemanden, mir zu helfen und erwarte auch nichts. Ich bin schließlich auch „freiwillig“ hier.

    Wenn du „kein Techniker“ bist, dich als „nicht so gut im selber basteln von PHP“ einschätzt und dein Theme keine Einstellungsoptionen für die gewünschte Änderung anbietet, musst du dich entweder einarbeiten oder einen Dienstleister beauftragen.

    Wieso gibt es dann das Forum, wenn ich besser direkt einen Dienstleister beauftragen oder mich selbst einarbeiten soll, bevor ich hier etwas frage?

    Zu gekauften Themes können wir dir nicht weiterhelfen, weil sie uns nicht kostenlos zur Verfügung stehen. Das steht so in unseren Foren-Regeln und ich gehe davon aus, dass du sie dir durchgelesen hast, bevor du hier einen Thread gestartet hast.

    Du hast gefragt wie das Theme heißt und ich habe geantwortet „Flatsome“. Weil es nicht „kostenlos“ zur Verfügung steht, hätte ich es lieber nicht erwähnt?

    …entweder erstellst du ein Child Theme

    Ja, ich verwende ein Child Theme.

    Ich habe deinen Code mal eingefügt und er hat die Seite gecrasht. Habe ihn deshalb erstmal wieder entfernt.

    Trotzdem danke für die Hilfe.

    Moderator PraetorIM

    (@praetorim)

    > Wieso gibt es dann das Forum, wenn ich besser direkt einen Dienstleister beauftragen oder mich selbst einarbeiten soll, bevor ich hier etwas frage?

    Weil wir hier Hilfe zur Selbsthilfe geben. Für Vollkasko-Wünsche sind wir hier aber nicht zuständig.

Ansicht von 11 Antworten - 1 bis 11 (von insgesamt 11)
  • Das Thema „Letztes Post-Update anzeigen anstelle von Veröffentlichungsdatum“ ist für neue Antworten geschlossen.