To install an AI-generated WordPress theme or plugin, upload the packaged ZIP file through WP Toolkit in your portal or through the standard upload tool inside wp-admin. If you interact with your site using Flashcloud's AI Agents connector, note that the connector tool wp_install_theme only accepts directory slugs from wordpress.org. For custom code written by an AI coding assistant, you must upload the ZIP file manually.
You can get straight into your site using WP Toolkit or by asking your connected agent for a wp_login_link, which generates a single-use sign-in link to wp-admin. Here is how to verify the ZIP structure and complete the upload.
Option 1: Upload via WP Toolkit
WP Toolkit provides the fastest route because it handles extraction, file placement, and database registration outside the WordPress dashboard.
- Log in to portal.flashcloud.com and open your hosting service.
- Click WordPress Toolkit from the one-click login bar (or open cPanel and launch WordPress Management (WP Toolkit)).
- Find your installation and open the Themes tab (or the Plugins tab if you are installing a plugin).
- Click + Install.
- Select Upload Theme (*.zip) or Upload Plugin (*.zip).
- Select your archive file and confirm the upload.
- Once uploaded, turn on the Active toggle next to the new item to enable it on your site.
If you are replacing an existing layout, review our guide on changing your theme without breaking the site to verify template assignments before showing the changes to visitors.
Option 2: Upload inside wp-admin
If you already have your WordPress dashboard open, use the native uploader:
- Go to Appearance → Themes → Add New Theme (or Plugins → Add New Plugin).
- Click the Upload Theme or Upload Plugin button at the top of the screen.
- Choose your local
.zipfile and click Install Now. - Click Activate once WordPress finishes unpacking the files.
If you use our AI Agents connector (at https://mcp.flashcloud.com/mcp), your agent cannot upload local files through wp_install_theme. However, the agent can call wp_login_link to return a secure, temporary admin URL so you can jump directly into this screen without entering passwords.
How to structure a valid theme ZIP
AI code generators often bundle files incorrectly. If your ZIP file is nested inside extra folders, WordPress will fail to detect the theme. When unzipped, all theme assets belong inside wp-content/themes/your-theme-name/. To learn more about where these files sit on your server, see WordPress files and folders explained.
A functional theme ZIP archive must contain a single top-level folder with these essential files inside it:
style.css: Required. Holds your styles and the metadata comment block.index.php: Required for classic themes; serves as the fallback template.templates/index.html: Required for modern block themes.theme.json: Recommended for block themes to define color palettes, typography, and layout settings.functions.php: Optional. Used to enqueue stylesheets, register block patterns, or add custom PHP logic.
Your style.css file must begin with this exact comment header at line 1:
/* Theme Name: My Custom AI Theme Theme URI: https://example.com Author: Your Name Version: 1.0.0 Description: A custom WordPress block theme. Text Domain: my-custom-theme */
If this header is missing or improperly commented, WordPress will abort the upload and display a missing stylesheet error.
How to structure a valid plugin ZIP
For custom plugins, the structure is similar. Inside the ZIP file, include a single folder (such as my-custom-plugin/) containing your main script (for example, my-custom-plugin.php). At the top of that file, provide the plugin declaration:
<?php
/**
* Plugin Name: My Custom Plugin
* Plugin URI: https://example.com
* Description: Custom functionality generated by an AI assistant.
* Version: 1.0.0
* Author: Your Name
* License: GPL-2.0+
*/
defined('ABSPATH') || exit;
Troubleshooting ZIP upload failures
If WordPress rejects the ZIP, inspect these common root causes:
- "The package could not be installed. The theme is missing the style.css stylesheet." This error occurs when the ZIP file extracts to an extra wrapper folder (for example,
archive.zip→output/my-theme/style.css). Re-zip the theme so thatstyle.csssits immediately inside the primary theme folder. - "The uploaded file exceeds the upload_max_filesize directive in php.ini." If your AI generated heavy assets or image files inside the ZIP, upload size caps might block it. Log in to cPanel, navigate to Software → MultiPHP INI Editor, select your domain, and increase
upload_max_filesizeandpost_max_size. - "Unable to create directory." This indicates that file system permissions on your hosting account prevent WordPress from writing to the storage directory. Follow the steps in fixing "Unable to create directory" and "unable to move uploaded file" to reset folder permissions to
755.
When to contact support
If your ZIP file is structured properly, directory permissions are set to 755, and the upload still fails with a server error, open a ticket. Go to Support → New ticket inside portal.flashcloud.com. Have your Support PIN ready from your account page so our team can verify ownership and inspect the server error logs.