admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce('rswpbs_install_nonce') ), ); } add_action( 'admin_enqueue_scripts', 'book_author_template_install_rswpbs' ); add_action( 'wp_ajax_install_rswpbs_plugin', 'book_author_template_rswpbs_install_plugin' ); function book_author_template_rswpbs_install_plugin() { /** * Install Plugin. */ include_once ABSPATH . '/wp-admin/includes/file.php'; include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; include_once ABSPATH . 'wp-admin/includes/plugin-install.php'; if ( ! file_exists( WP_PLUGIN_DIR . '/rs-wp-books-showcase' ) ) { $api = plugins_api( 'plugin_information', array( 'slug' => sanitize_key( wp_unslash( 'rs-wp-books-showcase' ) ), 'fields' => array( 'sections' => false, ), ) ); $skin = new WP_Ajax_Upgrader_Skin(); $upgrader = new Plugin_Upgrader( $skin ); $result = $upgrader->install( $api->download_link ); } if ( current_user_can( 'activate_plugin' ) ) { $result = activate_plugin( 'rs-wp-books-showcase/rs-wp-books-showcase.php' ); } }