Before getting into multiple widget instances, I'd start with: http://codex.wordpress.org/AJAX_in_Plugins <http://codex.wordpress.org/AJAX_in_Plugins>Because: define('DOING_AJAX', true); include('../../../wp-config.php'); include(WP_CONTENT_DIR . '/../wp-admin/includes/admin.php'); Is not the right way to do it.