it-swarm.com.de

get_option gibt eine unerwünschte leere Instanz eines Widgets zurück

Ich versuche derzeit, die Felder eines benutzerdefinierten Widgets mit get_option aufzurufen und das Array zu durchlaufen, das mit dem Aufruf get_option () erstellt wurde. Das Problem ist, dass es am Ende ein leeres ausgibt, was zu einem zusätzlichen Ergebnis führt, als ich aktiviert habe. Hier ist der Code, den ich im Moment habe:

            $the_team = get_option('widget_jcMeetTeam');
            $the_id = 1; //used for an ID increment for the jquery this will be used for
            print_r ($the_team);
    if (count($the_team) > 1) {
            foreach ($the_team as $team_member) {
                    extract($team_member);

                            echo '<div class="panel" id="'.$the_id.'">
                            <img src="'.get_bloginfo('template_url').'/images/about_lgplace.png">
                            <h2>'.$team_member['jc_name'].'</h2>;
                            <p>Occupation: '.$team_member['jc_occupation'].'</p>
                            <p>Favorite Wine: '.$team_member['jc_favwine'].'</p>
                            <p>About: '.$team_member['jc_about'].'</p>
                            </div> ';
                    ++$the_id; //increment for next panel ID
            }
    } 

Ich versuche gerade herauszufinden, wie die Schleife angehalten werden kann, bevor die letzte leere angezeigt wird, und gebe eine genaue Auflistung der aktiven Widget-Instanzen.

1
tw2113

Es wird keine weitere Hilfe benötigt.

unset ($ the_team ['_ multiwidget']); hat funktioniert und war das Element im Array, das am Ende des Aufrufs angezeigt wurde.

Müssen erforschen, was dieser Teil genau für zukünftige Referenz ist.

1
tw2113

Ich denke, das Problem liegt an einem leeren Datensatz in der Datenbank.

Sie können überprüfen, ob $ team_member leer ist. Fügen Sie vor extract($team_member); Folgendes hinzu:

if( empty($team_member) ) continue;

Wenn $ team_member leer ist, wird der Code danach nicht ausgeführt.

0
sorich87