Back to Community

Why WordPress Installs Default Themes and How to Stop It

32 threads Sep 7, 2025 CoreRequests and feedback

Content

Many WordPress users report a common frustration: after a major update, new default themes like Twenty Twenty-Five or Twenty Twenty-Four appear in their theme list, even though they use a custom theme. This automatic installation can be confusing, seem unnecessary, and consume server resources. This guide explains why this happens and provides clear steps to prevent it.

Why Does WordPress Automatically Install New Themes?

WordPress core includes several "bundled" themes. During a major version update, the installation process often refreshes these themes to ensure a consistent, stable, and up-to-date set of default options are available. This is primarily intended for new installations and users who rely on the default themes. The behavior is a standard part of the WordPress core update process, not a bug or an error from your hosting provider.

Common Solutions to Prevent Auto-Installed Themes

If you manage a site with a custom theme and wish to stop this behavior, you have a few reliable options. The most effective method is to add specific constants to your site's wp-config.php file.

Method 1: Modify the wp-config.php File

The most direct and permanent solution is to add two lines of code to your wp-config.php file, which is located in the root directory of your WordPress installation.

  1. Access your website's files through your hosting control panel (e.g., cPanel) or an FTP/SFTP client.
  2. Locate and edit the wp-config.php file. It is crucial to create a backup of this file before making any changes.
  3. Look for the line that says /* That's all, stop editing! Happy publishing. */.
  4. Just above that line, add the following code:
    define( 'CORE_UPGRADE_SKIP_NEW_BUNDLED', true );
    define( 'WP_DEFAULT_THEME', 'your-theme-folder-name' );
    
  5. Replace your-theme-folder-name with the exact directory name of your active theme (e.g., twentytwentyone, generatepress).
  6. Save the file and upload it back to your server if you edited it locally.

What these constants do:

  • CORE_UPGRADE_SKIP_NEW_BUNDLED: This tells WordPress not to re-download bundled themes and plugins that have been previously deleted.
  • WP_DEFAULT_THEME: This changes the official default theme WordPress refers to, allowing you to keep an older default theme active without new ones being added.

Method 2: Manually Delete Unwanted Themes

You can simply delete the unwanted default themes each time they appear. To do this safely:

  1. Go to Appearance > Themes in your WordPress dashboard.
  2. Ensure your desired theme is active.
  3. Click on the theme you want to remove and then click the Delete link.

Important Note: After adding the constants from Method 1, you should delete the unwanted themes. Future updates should then skip reinstalling them.

Important Considerations

  • Plugin Conflict: In rare cases, a plugin might be responsible for unexpected theme installations. If the problem persists after trying the methods above, try disabling all plugins to see if the behavior stops.
  • Child Themes: If you use a child theme, make sure the WP_DEFAULT_THEME constant points to the parent theme's folder name, not the child theme's.

By understanding this WordPress behavior and using the provided solutions, you can keep your theme list clean and tailored to your specific needs.

Related Support Threads Support