Wie richte ich Standardwerte für ein Plugin ein?

Was ist der beste Weg, um Standardwerte für ein Plugin einzurichten? Sollte ich nur diese Werte in die Tabelle wp_options einfügen?

UND … wenn das der beste Weg ist, es zu tun, habe ich eine andere Frage. Meine Optionen sind als eine Gruppe aufgelistet, die momentan wie folgt aussieht:

a: 4: {s: 26: “nc_location_drop_down_zoom”; s: 2: “14”; s: 17: “nc_location_width”; s: 3: “200”; s: 29: “nc_location_drop_down_maptype”; s: 7: ” Roadmap “; s: 11:” text_string “; s: 0:” “;}

Ist das ein serialisiertes Array? Wie führe ich einen solchen Einschub in die Tabelle? (Ich erkannte, dass dies eher eine SQL-Frage ist …)

Solutions Collecting From Web of "Wie richte ich Standardwerte für ein Plugin ein?"

Verwenden Sie das Settings API und speichern Sie Ihre Daten in einer einzigen Option als Array, WordPress serialisiert die Daten für Sie.

Sie sollten die Standardeinstellungen zum Zeitpunkt des Herausziehens der Daten vornehmen. Fügen Sie keine Standardwerte in die database ein. Standardeinstellungen sind Standard. Optionen im DB überschreiben die Standardwerte.

So führen Sie Standardeinstellungen für ein serialisiertes Optionsfeld durch:

 $defaults = array( 'default1' => '1', 'default2' => '2', ); $options = wp_parse_args(get_option('plugin_options'), $defaults); 

Neben der Antwort von Otto.

Wenn Sie das Array mit den mehrdimensionalen Optionen verwenden und weiterhin mit dem Array der wp_parse_args() möchten, verwenden Sie die folgende function anstelle von wp_parse_args() :

 < ?php function meks_wp_parse_args( &$a, $b ) { $a = (array) $a; $b = (array) $b; $result = $b; foreach ( $a as $k => &$v ) { if ( is_array( $v ) && isset( $result[ $k ] ) ) { $result[ $k ] = meks_wp_parse_args( $v, $result[ $k ] ); } else { $result[ $k ] = $v; } } return $result; } 

Beispielsweise,

 < ?php $defaults = array( 'setting-1' => array( 'option-1' => 1, 'option-2' => 0, ), 'setting-2' => 1 ); // Only variables are passed to the function by reference (Strict Standards warning) $options = get_option('plugin_options'); $options = meks_wp_parse_args($options, $defaults); 

Die rekursive function wurde hier gefunden.