Как сбросить плагины без деактивации плагина

function set_copyright_options() { delete_option('ptechsolcopy_notice'); delete_option('ptechsolcopy_reserved'); add_option('ptechsolcopy_notice','Copyright ©'); add_option('ptechsolcopy_reserved','All Rights Reserved'); } register_activation_hook(__FILE__, 'set_copyright_options'); 

Привет, я использую код, чтобы сделать его плагин по умолчанию при отключении и активации плагина. Но мне нужны параметры, чтобы сделать это с помощью кнопки сброса на стороне администратора, чтобы сделать его по умолчанию без деактивации плагина?

Вы можете сделать еще одну функцию с параметрами will (re), заданными по умолчанию:

 function wpse_91307_set_option_defaults() { $options = array( 'ptechsolcopy_notice' => 'Copyright ©', 'ptechsolcopy_reserved' => 'All Rights Reserved' ); foreach ( $options as $option => $default_value ) { if ( ! get_option( $option ) ) { add_option( $option, $default_value ); } else { update_option( $option, $default_value ); } } } 

Затем вы можете изменить set_copyright_options() следующим образом:

 function set_copyright_options() { delete_option( 'ptechsolcopy_notice' ); delete_option( 'ptechsolcopy_reserved' ); wpse_91307_set_option_defaults( ); } 

Когда вы нажимаете кнопку reset , единственное, что вам нужно сделать, это выполнить wpse_91307_set_option_defaults() .

Используйте add_menu_page для создания страницы. В функции обратного вызова добавьте форму с кнопкой сброса:

 function reset_my_options() { add_menu_page( 'Reset Options', 'Reset Options', 'manage_options', 'reset-options', 'reset_option_page' ); } function reset_option_page() { if ( isset( $_POST['reset_options'] ) && $_POST['reset_options'] === 'true' ) { delete_option('ptechsolcopy_notice'); delete_option('ptechsolcopy_reserved'); } ?> <div class="wrap"> <h2>Reset options</h2> <form action="<?php echo admin_url( 'admin.php?page=reset-options' ); ?>" method="post"> <input type="submit" value="Click to reset plugin options" style="float:left;" /> <input type="hidden" name="reset_options" value="true" /> </form> </div> <?php } 

Вы также можете добавить к нему nonces для дальнейшей безопасности.

Кстати, вы могли бы использовать update_option в своей активации плагина вместо delete_option и add_option .