<?php
//allows the theme to get info from the theme options page
global $options;
foreach ($options as $value) {
if (get_option( $value['id'] ) === FALSE) { $$value['id'] = $value['std']; }
else { $$value['id'] = get_option( $value['id'] ); }
}
?>
Servus Michael,
Ich hab keine Ahnung woher die globale Variable $options kommt. Falls die aus Deinem Theme ist, solltest Du die umbenennen. Da ist ein Konflikt schon vorprogrammiert (und glaub mir: Fehlern durch globale Vars nach jagen ist das Mühsamste überhaupt - die findest nie).
Weiters.. So wie das derzeit geschrieben ist, passiert ca folgendes: Du rufst die globale $options auf, die vermutlich ein Array ist. Dieses Array beinhaltet jeweils den Namen eines Feldes im options DB-table. Und Du rufst jetzt aus der DB-Tabelle jeweils eine Option mit dem Namen $value auf. zB: $options = array('Dein_erster_optionsname', 'zweiter_optname', 'etc'); Und Du suchst dann in der Datenbank via get_option alle Optionen heraus, die einen Namen haben, der im $options Array angeführt wird und holst Dir davon jeweils den Wert vom Schlüssel ID... usw. Sei mir nicht böse, aber der Code ist ziemlich Quatsch. Lohnt sich nicht wirklich da weiter zu analysieren, wie das funktioniert. Ist der mit dem Theme so gekommen, oder von Dir? (Dann nehm ich das "Quatsch" gleich wieder zurück
)
Kannst Du einmal erklären, wie Du Deine Optionen ablegst? Register_setting, etc? Dafür gibt's nämlich eine eigene API die im Codex und auf den Seiten von Ozh und Otto (Core Devs) ziemlich gut erklärt wird (sieh Links am Ende des Codex Eintrags). Wenn man das weiß, dann ist's nämlich gar nicht so schwer... ![]()