Hallo,
das machst du normalerweise im Bereich der Einstellungen, indem du prüfst, ob die Einstellungen in der wp_options
(Präfix kann bei dir anders sein) bereits vorhanden sind.
Beispiel (ist leider nicht so schön formatiert wie in meinem Editor) aus einem Plugin von mir:
if (empty( $add_infos_to_tec_options)) {
// The option hasn't been added yet. We'll add it with $autoload set to 'no'.
$deprecated = null;
$autoload = 'no';
$tec_path = ait_path_for_tec();
$add_infos_to_tec_options = array(
'fs_option_pfad' => $tec_path,
'fs_hintergrundfarbe_button' => '#77BCC7',
'fs_vordergrundfarbe_button' => '#ffffff',
'fs_hover_hintergrundfarbe_button' => '#F9B81E',
'fs_hover_vordergrundfarbe_button' => '#ffffff',
'fs_runder_button' => '5',
'fs_alle_buttons' => '0',
'fs_schriftart' => '1',
'fs_linie_oben' => '1',
'fs_linie_unten' => '0',
'fs_bezeichnung_externer_link' => 'Read More',
'fs_bezeichnung_events_link' => 'More Events',
'fs_bezeichnung_interner_link' => 'Read More on this website',
'fs_sortierung_categories' => '1'
);
add_option( 'add_infos_to_tec_settings', $add_infos_to_tec_options, $deprecated, $autoload);
}
Übrigens: „Entwicklung von WordPress-Plugins“ von Onno Gabriel ist ein sehr schönes kompaktes Buch. Kann ich empfehlen.
Umfangreicher ist das Buch „WordPress für Entwickler“ von David Remer. Auch zu empfehlen.
Ansonsten findest du viele Infos auch im „Plugin Handbook“
Viele Grüße
Hans-Gerd
Danke Dir für deinen Input. Auf die Schnelle hat die Anpassung meines Codes noch nicht funktioniert (in die bestehende Funktion). Die Syntax um in der Optionen Tabelle speichern zu können ist eine ganz andere. Ich vermute dahinter eine spezielle Funktion nur für diese Tabelle. Dann muss ich es mit Deiner Vorlage nochmals probieren. Wenn der Fehler da liegt wo ich ihn mittlerweile vermute, dann wird es nachher wahrscheinlich klappen.
Das empfohlene Buch von Onno Gabriel hab ich mal gekauft, werde mir das mal in den nächsten Tagen rein ziehen.
Gruß René
Die Funktion ist doch etwas heimtückisch. Funktionieren tut es grundsätzlich mit
update_option( 'mygallery_titlesize', $_POST[ 'mygallery_titlesize' ], 'no' );
`
Wenn ich das so ergänze und im Formular auf ’speichern‘ klicke verändert sich in der Spalte ‚autoload‘ rein gar nix, obwohl da in der Funktion ganz eindeutig ein ’no‘ drin steht.
Bei bestehenden Einträgen wird das ‚autoload‘ nur geändert, wenn gleichzeitig auch das ‚option_value‘ geändert wird. Darauf muss man erst mal kommen. Deshalb dachte ich die ganze Zeit, der Sch… funktioniert nicht. Wird mit dieser Funktion ein neuer Eintrag erstellt, bekommt er von Anfang an ein ’no‘.
Das Buch macht übrigens einen guten Eindruck, vor Allem auch weil es auf deutsch ist.
Danke und Gruß, René