Frage

Ich hatte das Problem mit WordPress Autosave, die keine benutzerdefinierten Felddaten gesendet haben, und fand diesen Eintrag auf SO:

WordPress add_meta_box () Verrücktheit

Die genehmigte Antwort funktioniert, aber ist es nicht nur zu verhindern, dass eine Autosave durch frühzeitige zurückkommt? Ist nicht dasselbe wie die vollständige Deaktivierung von Autosave vollständig? Wenn ja, wäre es nicht besser, dies auf die richtige Weise zu tun, anstatt es zu automatisieren, nur um dies zu verhindern?

Die einzige Ausnahme, die ich sehen konnte, ist, ob man vor dem Überprüfen auf Autosave nach einem Post-Typ überprüft wird, damit Sie nur Autosave für bestimmte Post-Typen deaktiviert haben.

Ich werde Autosave vollständig deaktivieren, fragte mich aber, was ihr gedacht habt.

Bearbeiten: Ich habe keine Probleme mit der Autosave mehr. Diese Frage besteht darin, die Vorzüge der oben erwähnten Lösungen zu diskutieren.

Darüber hinaus kann ich nicht sehen, wie dies ein Merkmal von WordPress wäre, und würde davon ausgehen, dass Autosave geändert werden sollte, um alle Postdaten einzuschließen. Nein?

War es hilfreich?

Lösung

Der Code in der verknüpften Antwort deaktiviert die Autosave nicht, sondern stoppt nur eine benutzerdefinierte Speicherfunktion, die beim Autosaving ausgeführt wird. Dies ist notwendig, da das WordPress -Autosave -System keine Post -Meta -Daten (benutzerdefinierte Felder) unterstützt, entweder im JavaScript, das die Postdaten oder im PHP erstellt, das Revisionen erstellt und wiederherstellt.

Andere Tipps

Ich habe Folgendes für benutzerdefinierte Felder verwendet, die ich erstellt habe, und es hat gut funktioniert.

<?php
// Save Fields
add_action('save_post', 'save_details');

function save_details(){
 if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) 
    return $post_id;
 global $post;
 update_post_meta($post->ID, "event_featuring", $_POST["event_featuring"]);
 update_post_meta($post->ID, "event_time", $_POST["event_time"]);
 update_post_meta($post->ID, "event_date", $_POST["event_date"]);
 update_post_meta($post->ID, "event_end_date", $_POST["event_end_date"]);
 update_post_meta($post->ID, "event_location", $_POST["event_location"]);
 update_post_meta($post->ID, "bhs_event", $_POST["bhs_event"]);
}
?>

Zu Ihrer Information, die hier veröffentlichte Lösung http://wordpress.org/support/topic/custom-post-type-information-disappearing Arbeitete für mich und ich denke, es ist viel eleganter.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top