isDir() ? @rmdir( $item->getPathname() ) : wp_delete_file( $item->getPathname() ); // phpcs:ignore WordPress.PHP.NoSilencedErrors, WordPress.WP.AlternativeFunctions.file_system_operations_rmdir -- чистка своей папки обмена } @rmdir( $dir ); // phpcs:ignore WordPress.PHP.NoSilencedErrors, WordPress.WP.AlternativeFunctions.file_system_operations_rmdir -- чистка своей папки обмена } } // Таблица журнала обмена. $wpdb->query( 'DROP TABLE IF EXISTS `' . $wpdb->prefix . 'rushop_1c_log`' ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery, WordPress.DB.PreparedSQL.NotPrepared -- удаление своей таблицы // Опции и временные данные (transient хранятся в той же таблице options). foreach ( array( 'rushop\_%', '\_transient\_rushop\_%', '\_transient\_timeout\_rushop\_%' ) as $like ) { $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->options} WHERE option_name LIKE %s", $like ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- удаление своих опций } wp_clear_scheduled_hook( 'rushop_1c_deactivate' ); wp_clear_scheduled_hook( 'rushop_1c_log_purge' ); } rushop_uninstall_cleanup();