prefix . "myplug_prefs"; } //Создаёт таблицу настроек плагина, устанавливает настройки по умолчанию. //Вызывается в момент активации плагина function myplugin_set_options() { global $wpdb; //Установить опции по умолчанию (они будут храниться в таблице настроек WP) add_option('myplug_version', '0.42'); //1. Будет ли плагин по умолчанию обрабатывать заголовки записей. 0 - нет add_option('myplug_modify_title', 0); //То же для тела записей. 1 - да add_option('myplug_modify_content', 1); //Вызов функции повторяется, т.к. данные действия происходят на этапе установки плагина, //когда вызов в теле еще не может быть осуществлён $myplugin_prefs_table = myplugin_get_table_handle(); //Установить кодировку таблицы (пустая - использовать умолчальную кодировку MySQL $charset_collate = ''; //Если версия MySQL не ниже указанной - установить кодировку для хранения //и сравнения как UTF-8 if ( version_compare(mysql_get_server_info(), '4.1.0', '>=') ) $charset_collate = "DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci"; //Если в БД блога еще нёт таблицы настроек плагина - создать её. if($wpdb->get_var("SHOW TABLES LIKE '$myplugin_prefs_table'") != $myplugin_prefs_table) { $sql = "CREATE TABLE `" . $myplugin_prefs_table . "` ( `id` INT NOT NULL AUTO_INCREMENT, `title` VARCHAR(255) NOT NULL default '', `body` VARCHAR(255) NOT NULL default '', UNIQUE KEY id (id) )$charset_collate"; require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); //обращение к функциям WP для dbDelta($sql); //работы с БД. создаём новую таблицу } } //Конец функции установки настроек плагина //При деактивации плагина удаляет настройки и очищает таблицу настроек function myplugin_unset_options() { global $wpdb, $myplugin_prefs_table; delete_option('myplug_version'); delete_option('myplug_modify_title'); delete_option('myplug_modify_content'); $sql = "DROP TABLE $myplugin_prefs_table"; $wpdb->query($sql); } //Создаёт кнопку для перехода к страницу настроек плагина в админке WP function myplugin_admin_page() { add_options_page('MyPlugin', 'MyPlugAdminPage', 8, __FILE__, 'myplugin_options_page'); } //Подгружает перевод плагина из указанной директории function init_textdomain() { if (function_exists('load_plugin_textdomain')) { load_plugin_textdomain('example_plugin', 'wp-content/plugins/wp-example_plugin'); } } //Выводит таблицу настроек плагина, обрабатывает изменения настроек, сделанные //пользоваетеле (обновить настройки, показать обновлённые) function myplugin_options_page() { global $wpdb, $myplugin_prefs_table; //Создаём массив с настройками плагина $myplugin_options = array( 'myplug_modify_title', 'myplug_modify_content', ); //Обработка пользовательского ввода в случае изменения настроек $cmd = $_POST['cmd']; //Обходим массив с настройками и получаем их значения из таблицы настроек foreach ($myplugin_options as $myplugin_opt) { $$myplugin_opt = get_option($myplugin_opt); } //Если пользователь решил сбросить настройки - очищаем таблицу настроек if ($cmd == "del_prefs") { $sql = "TRUNCATE TABLE $myplugin_prefs_table"; $wpdb->query( $sql ); ?>query($sql); } ?>
get_var($sql); return $phrase; } //Конец плагина ?>My Plugin
- dimio','example_plugin'); ?>