it-swarm.com.de

Post-Datum bei jedem neuen Kommentar aktualisieren?

Ich möchte bei jedem neuen Kommentar einen Beitrag aktualisieren, damit der Last Modified Date in der Sitemap immer aktuell ist.

Wie kann ich das machen?

Vielen Dank.

3
Burak Birer

Soweit ich weiß, möchten Sie die Änderungszeit des Beitrags ändern, wenn ein Kommentar zu Ihrem Beitrag hinterlassen wird. Dazu müssen Sie sich in den Hook wp_insert_comment einhängen und das Datum des Posts manuell aktualisieren:

add_action('wp_insert_comment','update_post_time',99,2);
function update_post_time($comment_id, $comment_object) {
    // Get the post's ID
    $post_id = $comment_object->comment_post_ID;
    // Double check for post's ID, since this value is mandatory in wp_update_post()
    if ($post_id) {
        // Get the current time
        $time = current_time('mysql');
        // Form an array of data to be updated
        $post_data = array(
            'ID'           => $post_id, 
            'post_modified'   => $time, 
            'post_modified_gmt' =>  get_gmt_from_date( $time )
        );
        // Update the post
        wp_update_post( $post_data );
    }
}

Beachten Sie, dass dies jedes Mal, wenn ein Kommentar erstellt wird, eine Überarbeitung für den Beitrag erstellt.

Wenn Ihr Sitemap-Plugin den post_date anstelle von post_modified verwendet, können Sie diesen stattdessen verwenden:

$post_data = array(
    'ID'           => $post_id, 
    'post_date'   => $time, 
    'post_date_gmt' =>  get_gmt_from_date( $time )
);

Dies kann jedoch zu Problemen führen und die Reihenfolge der Beiträge in Archiven und auf der Startseite beeinträchtigen, da das ErstellungsDatum und nicht das Änderungsdatum des Beitrags geändert wird.

3
Jack Johansson

Dies kann die Reihenfolge der Beiträge auf Ihrer Hauptseite ändern, abhängig von Ihrem Thema.

Es gibt Möglichkeiten, die Links zu den Seiten mit den letzten Kommentaren anzuzeigen.

Sie müssen jedoch Ihr Thema (hoffentlich untergeordnetes Thema, da Sie den Themencode nicht ändern möchten) so einstellen, dass beim Speichern von Kommentaren ein Haken gesetzt wird. Beispielsweise könnten Sie den Hook wp_insert_comment() verwenden, wie in diesem Link beschrieben: https://codex.wordpress.org/Plugin_API/Action_Reference/wp_insert_comment

Es gibt andere Hooks, die beim Speichern von Kommentaren verwendet werden können, je nachdem, wann etwas geschehen soll.

1
Rick Hellewell