Ich habe diese Seite viel benutzt, um meine Probleme zu lösen, aber diesmal ist es mir nicht gelungen, mein Problem zu finden und zu beantworten.
Ich bekomme eine Endlosschleife, wenn ich wp_update_post
eine Funktion verwende, die aufgerufen wird save_post
. Ich weiß, dass dies ein häufiges Problem ist, aber ich kann nicht herausfinden, wie ich es vermeiden kann.
Ich möchte die Reihenfolge meiner Beiträge speichern (die vom Beitragstyp 'Abschnitt' ist). Also habe ich eine benutzerdefinierte Meta-Box erstellt, die einige sortierbare HTML-Elemente enthält. In jedem Element gibt es ein verstecktes Eingabe-Tag mit dem Namen = 'sectionorder []'. Wenn ich also auf das Standard-WordPress-Update 'Update' klicke, wird ein Array mit allen IDs der Beiträge (in der richtigen Reihenfolge) per POST gesendet. Hier ist also der Code, mit dem ich das Array abrufe und die Reihenfolge speichern möchte:
// Update section sort order
$sectionorder = $_POST['sectionorder'];
if (isset($sectionorder)) { // Avoid error if there is no sections added yet
foreach( $sectionorder as $no => $sectionID ) {
$post_update = array();
$post_update['ID'] = $sectionID;
$post_update['menu_order'] = $no;
wp_update_post( $post_update );
}
}
Das Problem ist jedoch, dass eine Endlosschleife gestartet wird. Wie vermeide ich das? Vielleicht kann ich das ganz anders machen?
Schätzen Sie Ihre Hilfe!