PHP WP: foreach() funktioniert nicht bei 1. Array-Element

KeinProblem

Ensign
Registriert
Okt. 2013
Beiträge
191
Hi,

ich wusste nicht, wie man das als Überschrift präziser ausdrücken könnte. Folgendes Problem:

Ich arbeite an einem Wordpress-Plugin. Das Plugin soll im Backend / Edit-Seite jedes Beitrags mehrere Einträge aus der Datenbank auslesen und in Form einer Tabelle anzeigen. Da die Werte veränderbar sein sollen ist das alles in ein Formular eingebettet. Also quasi:

Code:
<form action="" method="post">
<table>
Einträge
</table>
</form>

Es kann mehrere solcher Formulare geben, welche dann einfach untereinander ausgegeben werden.

Die Einträge hole ich als array aus der DB. Jeder Array-Eintrag beinhaltet alle nötigen Werte des jeweiligen Formulars. Daher klingt es für mich logisch, die Ausgabe über eine foreach-Schleife zu regeln:

Code:
foreach($array as $single_array){
?>
<form action="" method="post">
<table>
Einträge
</table>
</form>
<?php
}

Das Problem: Die <form>-Tags werden beim ersten Element nicht ausgegeben bzw. ignoriert. Das passiert wenn es nur einen einzigen Block mit Einträgen gibt. Gibt es mehrere Blöcke funktioniert die Schleife wunderbar, abgesehen vom ersten Element. Ab dem zweiten Element sieht alles so aus wie ich mir das vorgestellt habe.

Hat jemand von euch eine Idee, warum die einfache Ausgabe des HTML-Codes des für das Formular in der Schleife nicht funktioniert?

Wordpress Version ist 4.9.3 bzw 4.9.4 und es passiert bei unterschiedlichen Themes.

Danke schonmal :)
 
Könnte es sein, dass der interne Zeiger des Arrays nicht auf das erste Element zeigt? Was ist denn z.B. die Ausgabe von
Code:
current($array)
 
Und wenn du mal versuchst das HTML mit echo in die Website einzufügen statt da einfach das PHP zu unterbrechen?
 
Zurück
Oben