Standard-Plugin-Einstellungen Nicht in database schreiben

Ich habe mein Plugin-Setup als solches:

Haupt-Plugin-Datei mouldings.php

  

In register_settings.php ich die Optionen eingerichtet:

 <?php function mouldings_register_settings_initial() { if( false == get_option( 'mouldings_settings' ) ) { add_option( 'mouldings_settings' ); } register_setting('mouldings_settings_group', 'idea_gallery_thumb_height'); register_setting('mouldings_settings_group', 'idea_gallery_thumb_width'); register_setting('mouldings_settings_group', 'collection_thumb_height'); register_setting('mouldings_settings_group', 'collection_thumb_width'); register_setting('mouldings_settings_group', 'profile_item_columns'); register_setting('mouldings_settings_group', 'idea_item_columns'); register_setting('mouldings_settings_group', 'collections_item_columns'); register_setting('mouldings_settings_group', 'combinations_item_columns'); } add_action('admin_init', 'mouldings_register_settings_initial'); 

und dann in install.php

  '4' ); update_option( 'mouldings_settings', $mouldings_options ); } } register_activation_hook( MOULDINGS_PLUGIN_FILE, 'mouldings_activate' ); 

Also, was ich versuche zu tun, ist die Optionen Tabelle Eintrag, moulding_settings , registrieren Sie die Einstellungen und dann bei der Aktivierung, legen Sie den Test Wert, idea_item_colummns auf 4 . Bei der Aktivierung wird derzeit der Eintrag der idea_item_columns erstellt, jedoch ohne Einstellungen, und der Standardwert idea_item_columns wird ebenfalls nicht festgelegt / erstellt. Sobald ich meine Einstellungsseite besuche und die Werte speichere, erscheinen sie in der Tabelle nach Bedarf – aber etwas scheint gerade nicht auf Aktivierung zu klicken. Hier ist meine Einstellungsseite, wenn das überhaupt hilft:

  

<input id="mouldings_settings[idea_gallery_thumb_height]" name="mouldings_settings[idea_gallery_thumb_height]" type="text" value=""> <input id="mouldings_settings[idea_gallery_thumb_width]" name="mouldings_settings[idea_gallery_thumb_width]" type="text" value="">

<input id="mouldings_settings[collection_thumb_height]" name="mouldings_settings[collection_thumb_height]" type="text" value=""> <input id="mouldings_settings[collection_thumb_width]" name="mouldings_settings[collection_thumb_width]" type="text" value="">

<option value="" >

<option value="" >

<option value="" >

<option value="" >

<input type="submit" class="button-primary" value="">

Notice: If you are altering the thumbnail sizes, remember to <a href="https://wordpress.stackexchange.com/questions/49992/default-plugin-settings-not-writing-to-database/">Regenerate Thumbnails

Notice: You do not have <a href="https://wordpress.stackexchange.com/questions/49992/default-plugin-settings-not-writing-to-database/">Regenerate Thumbnails installed. It is recommended to use this plugin - as this is the tool used to re-sample your images based on your preferences.

Ich bin seit ein paar Stunden dabei und hoffe, dass es etwas Kleines ist (gut, wenn es zu klein ist, kann ich meinen Verstand verlieren, aber jede Hilfe würde wirklich geschätzt werden). Vielen Dank.

Solutions Collecting From Web of "Standard-Plugin-Einstellungen Nicht in database schreiben"

Ich glaube, das Problem besteht darin, dass Ihre function, die die Einstellungen initialisiert, bei der Aktivierung nicht ausgeführt wird. Fügen Sie Ihrem mouldings_register_settings_initial () im Aktivierungs-Hook einen Aufruf hinzu:

 function mouldings_activate() { global $wpdb, $mouldings_options; mouldings_register_settings_initial(); if ($mouldings_options === false){ $mouldings_options = array( 'idea_item_columns' => '4' ); update_option( 'mouldings_settings', $mouldings_options ); } } register_activation_hook( MOULDINGS_PLUGIN_FILE, 'mouldings_activate' );