Problem mit WordPress "save_post" Aktion

Entwickelt ich ein WordPress-plugin, die ausführen muss, für die zusätzliche Verarbeitung, wenn ein post von einem custom-post-Typ gespeichert wird.

Die logischste Lösung war, dass die "save_post" - Aktion. Bei Inanspruchnahme der action-handler entweder erstellt oder aktualisiert eine Datenbank-Datensatz in einer benutzerdefinierten Tabelle (abhängig davon, ob "Post Erstellen" oder "Beitrag Aktualisieren" geklickt wird).

Habe ich umgesetzt und es schien zu funktionieren perfekt, aber es gibt ein kleines Problem würde ich gerne beheben. Es scheint, dass "save_post" wird auch ausgelöst, wenn das laden der "Post Erstellen" - Seite für die erste Zeit (d.h. bevor irgendwelche Eingaben des Benutzers eingegeben werden und vor dem senden neu/änderungen Taste gedrückt wird).

Dies bedeutet, dass die custom-Datenbank-Tabelle ist immer gefüllt mit einer leeren Zeile für jeden neuen Beitrag gespeichert ist. Es bedeutet auch, dass es eine leere Zeile für jedes mal, wenn das hinzufügen von post-Seite geladen wird.

Hier ist eine vereinfachte version meines "save_post" handler:

function do_save_post($post_id) {
    if (get_post_type($post_id) !== 'mycustomtype')
        return $post_id;

    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
        return $post_id;

    if (!current_user_can('edit_mycustomtype'))
        return $post_id;

    echo 'This happens when selecting "Add New" from admin sidebar.';
    echo 'Even though post has not been saved or updated.';
    echo 'This should only happen when button on right of editor is clicked.';
}

Wie kann ich erkennen, ob die post tatsächlich gespeichert?

was ist der Punkt der Rückkehr $post_id, wenn es scheitert?
Es ermöglicht anderen Haken, die zur Erfüllung Ihrer Verarbeitung mit den richtigen $post_id. Mein Haken ist nicht zu Versagen, Sie will einfach nur bestimmen, Wann die Verarbeitung vornimmt. Die $post_id ist bestanden, von jedem Haken, jeder Haken zurück.
danke für die Antwort! ich wusste nicht, dass der $post_id übergeben wurde, von Haken zu Haken. ich habe nicht bemerkt irgendwelche Probleme w/ code Abwürgen, wenn ich nicht zurück.

InformationsquelleAutor Lea Hayes | 2011-03-25

Schreibe einen Kommentar