admin_url( 'admin-ajax.php' ) ) ); } add_action( 'admin_enqueue_scripts', 'author_portfolio_admin_enqueue_scripts' ); add_action( 'wp_ajax_install_act_plugin', 'author_portfolio_admin_install_plugin' ); function author_portfolio_admin_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 ( ! WP_Filesystem() ) { wp_send_json_error( array( 'message' => 'Filesystem permission error.' ) ); } require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader-skin.php'; $skin = new WP_Upgrader_Skin(); $upgrader = new Plugin_Upgrader( $skin ); $plugins_to_install = array( 'rs-author-info-box' => 'rs-author-info-box/rs-author-info-box.php', 'rs-wp-books-showcase' => 'rs-wp-books-showcase/rs-wp-books-showcase.php', 'author-website-templates' => 'author-website-templates/author-website-templates.php', 'advanced-import' => 'advanced-import/advanced-import.php', ); foreach ( $plugins_to_install as $slug => $main_file ) { if ( ! file_exists( WP_PLUGIN_DIR . '/' . $slug ) ) { $api = plugins_api( 'plugin_information', array( 'slug' => sanitize_key( wp_unslash( $slug ) ), 'fields' => array( 'sections' => false ), ) ); if ( is_wp_error( $api ) ) { continue; } ob_start(); $result = $upgrader->install( $api->download_link ); ob_end_clean(); } if ( file_exists( WP_PLUGIN_DIR . '/' . $main_file ) ) { if ( ! is_plugin_active( $main_file ) ) { activate_plugin( $main_file ); } } } wp_send_json_success( array( 'message' => 'All plugins installed and activated.' ) ); }