Plugin legte den Standardwert fest, wenn es aktiviert wurde

Ich habe meine Plugin-Option im Admin-Panel mit eingerichtet

/** * Register and add settings */ public function page_init() { register_setting( 'my_option_group', // Option group 'write_here_options', // Option name array( $this, 'sanitize' ) // Sanitize ); add_settings_section( 'setting_section_id', // ID 'Set Edit Page', // Title array( $this, 'print_section_info' ), // Callback 'write-here-setting' // Page ); add_settings_field( "pid_num", "Select Page >>", array( $this, 'wh_select_list' ), "write-here-setting", "setting_section_id" ); add_settings_field( 'num_of_posts', // ID 'Number of Posts to show', // Title array( $this, 'num_of_posts_callback' ), // Callback 'write-here-setting', // Page 'setting_section_id' // Section ); } 

Also in DB, meine Plugin-Einstellung gespeichert in wp_options Tabelle unter dem Spaltennamen option_name als write_here_options in meinem Fall als Objekt.

Wenn Leute das Plugin aktivieren, möchte ich Standardwerte im DB für pid_num => 0 und num_of_posts => 10 .

Wie mache ich das?

Solutions Collecting From Web of "Plugin legte den Standardwert fest, wenn es aktiviert wurde"

Ihr Code wird sicherlich get_option() , um die Werte für Ihre Optionen abzurufen. get_option() akzeptiert ein zweites Argument, mit dem Sie einen Standardwert angeben können. Verwenden Sie diese anstelle von eingegebenen Werten unnötigerweise in die database.

 get_option( $option, $default ); 

Wenn Sie sich Sorgen um den Code von Drittanbietern machen, gibt es die option_{$option} , die Sie verwenden können, um Ihren Standard auch dann zu erhalten:

 116 /** 117 * Filter the value of an existing option. 118 * 119 * The dynamic portion of the hook name, `$option`, refers to the option name. 120 * 121 * @since 1.5.0 As 'option_' . $setting 122 * @since 3.0.0 123 * 124 * @param mixed $value Value of the option. If stored serialized, it will be 125 * unserialized prior to being returned. 126 */ 127 return apply_filters( 'option_' . $option, maybe_unserialize( $value ) ); 

Ich habe unten Code hinzugefügt, um den Standardwert auf DB zu setzen, wenn das Plugin aktiviert ist.

 function write_here_activation_actions(){ do_action( 'wp_writehere_extension_activation' ); } register_activation_hook( __FILE__, 'write_here_activation_actions' ); // Set default values here function write_here_default_options(){ $default = array( 'pid_num' => '0', 'num_of_posts' => '10' ); update_option( 'write_here_options', $default ); } add_action( 'wp_writehere_extension_activation', 'write_here_default_options' );