Custom Post Save verursacht 500 Fehler

Probleme mit 500 Fehlern. Manchmal wird eine Änderung gespeichert, normalerweise nicht. Ich habe die $ key / $ Werte ausgegeben, um zu überprüfen, dass sie die function und foreach erreichen. Die Ausgabe ist das erste Schlüssel / Wert-Paar immer und immer wieder …

Ich nähere mich diesem Weg, weil ich eine unbekannte Anzahl von “Offizieren” habe, die als benutzerdefinierte Post-Art ausgegeben werden.

$name = 'officer' . '-' . $officer_id . '-' . $count; ?> <label for="">Officer # <input type="text" name="" value="post_title; ?>"> 
<?php $count++;

Ich habe versucht, Offiziere als Array einzugeben:

 $name = 'officer' . '-' . $officer_id . '-' . $count; ?> <label for="['']">Officer # <input type="text" name="" value="post_title; ?>"> 

Mit der ID als Schlüssel, keine Änderung.

Ich habe versucht, fortfahren, wenn ‘Offizier’ nicht in der $ -Taste ohne Änderung ist. Ich habe ‘pre_post_update’ anstelle von ‘save_post’ ohne Änderung versucht. Ich habe Priorität und Anzahl (10, 2) von Variablen ohne Änderung hinzugefügt.

 add_action( 'save_post', 'officers_onto_board_page_save', 10, 2 ); function officers_onto_board_page_save( $post_id ) { global $wpdb; // if our current user can't edit this post, bail if( !current_user_can( 'edit_post' ) ) { return; } foreach ($_POST as $key => $item) { echo $key . ' , ' . $item; if (strpos($key, 'officer') == 0) { $parts = explode('-', $key); $my_post = array( 'ID' => $parts[1], 'post_title' => $item ); wp_update_post( $my_post ); } } } 

Irgendwelche Vorschläge / Empfehlungen würden geschätzt.

Beispielantwort: _wpnonce, dc7a6eaea0_wpnonce, dc7a6eaea0_wpnonce, dc7a6eaea0_wpnonce, dc7a6eaea0_wpnonce, dc7a6eaea0_wpnonce, dc7a6eaea0_wpnonce, dc7a6eaea0_wpnonce, dc7a6eaea0 (immer und immer wieder)

Solutions Collecting From Web of "Custom Post Save verursacht 500 Fehler"

Ich habe eine Antwort gefunden.

Im Wesentlichen hatte ich eine Endlosschleife, die zuerst ziemlich rätselhaft war. Es machte mehr Sinn, als ich sah, dass es nie über das erste Element im Post-Array hinaus iterierte.

Ich habe die Antwort hier gefunden: https://tommcfarlin.com/update-post-in-save-post-action/

Das Problem ist, dass wp_update_post sich in save_post einklinkt … also würde ich jedes Mal, wenn ich das erreichen würde, neu starten. Um das Problem zu beheben, habe ich meinen Code folgendermaßen geändert:

 function officers_onto_board_page_save( $post_id ) { remove_action( 'save_post', 'officers_onto_board_page_save' ); //DO STUFF add_action( 'save_post', 'officers_onto_board_page_save'); } 

Durch Entfernen der function und erneutes Hinzufügen zu save_post funktioniert sie wie erwartet.