How to Limit or Disable Automatic Empty Trash in WordPress

Do you want to change how often your trash is emptied on your WordPress website, or stop WordPress from emptying the trash automatically?

By default, WordPress will automatically delete anything that has been in the trash for 30 days. However, some users might like the trash to be emptied more or less often, or prefer to empty the trash manually.

In this article, we will show you how to limit or disable the trash being automatically emptied in WordPress.

How to Disable Auto Empty Trash in WordPress

What Is Trash in WordPress?

WordPress added a trash feature way back in version 2.9. It works just like the recycle bin or trash on your computer.

In other words, your deleted posts aren’t removed permanently but are sent to the trash instead so they can be recovered for a time. Anyone can delete a post accidentally. That’s why WordPress makes it easy to restore deleted posts and pages.

You can view them by going to Posts » All Posts from your WordPress dashboard and then clicking the ‘Trash’ option.

View trashed posts

Your WordPress website will automatically delete anything in the trash after 30 days so that it doesn’t pile up.

What if you don’t want WordPress to automatically delete items from the trash? Or you’d prefer it to be emptied more or less often than once a month.

Let’s have a look at how you can have it automatically emptied as often as you like. We’ll cover three methods below. The first method is the easiest for most users. You can use the links below to jump to your preferred method.

Method 1: Changing when WordPress Trash Is Emptied with a Plugin

First, you need to install and activate the Change Empty Trash Time plugin. For more details, see our step-by-step guide on how to install a WordPress plugin.

Upon activation, you should visit the Settings » General page of your admin dashboard. Once there, scroll to the bottom of the page, and you will find a new ‘Time to empty trash (in days)’ setting.

Empty trash can after certain days

Simply type in the number of days that WordPress should take to empty the trash. For example, you can type 1 for daily, 7 for weekly, or 30 for monthly.

If you type 0, then deleted posts and pages will be deleted permanently instead of being placed in the trash.

Note: Be very careful about setting the time to empty to 0. It can be difficult to recover permanently deleted posts and pages. Make sure you’re using a backup plugin, just in case.

Don’t forget to click the ‘Save Changes’ button to store your settings.

Method 2: Changing when WordPress Trash Is Emptied with Code

You can also configure how regularly the trash is emptied by the use of a code snippet. This method is not recommended for beginners, so if you’re not familiar with code, then you should use Method 1 instead.

For this method, you’ll have to edit your wp-config.php file.

If you haven’t edited the wp-config.php file before, then take a look at our guide on how to edit wp-config.php file in WordPress.

You can simply add the following line of code to your wp-config.php file.

define('EMPTY_TRASH_DAYS', 1 ); //Integer is the amount of days

You should paste it near the end of the file, just before the line that says, ‘That’s all, stop editing! Happy blogging.’

Auto trash code in wpconfig

If you leave this code snippet as it is, then your trash will be emptied every day. Feel free to change the number 1 to some other number, and the trash will be emptied after that number of days.

If you don’t wish to use the trash feature at all, then you should set the number to 0. Deleted posts and pages will then be deleted permanently without being placed in the trash.

Make sure you have a backup plugin set up first, just in case you need to restore any accidentally deleted pages.

Don’t forget to save the wp-config.php file once you have made your changes.

Method 3: Stopping WordPress from Automatically Emptying Trash

Do you want to stop WordPress from automatically deleting items from the trash?

Simply add the little code snippet below into your theme’s functions.php file. If you’re not used to editing your core WordPress files, check out our guide on copying and pasting code snippets from the web.

Now, we don’t generally recommend editing your site’s theme files directly. The slightest mistake can break your website. A better way of adding code snippets is by using WPCode.

First, you’ll need to install and activate the free WPCode plugin. For more details, please see our guide on how to install a plugin.

After that, you can go to Code Snippets » + Add Snippet from your WordPress dashboard and then select the ‘Add Your Custom Code (New Snippet) option.

Adding Your Custom Code in WPCode

Next, you will need to enter a title for your code snippet.

Then, copy this snippet and paste it into the box labeled ‘Code Preview.’

function wpb_remove_schedule_delete() {
    remove_action( 'wp_scheduled_delete', 'wp_scheduled_delete' );
}
add_action( 'init', 'wpb_remove_schedule_delete' );

This code simply removes the action that deletes trashed items when their time is up.

Don’t forget to click the ‘Code Type’ dropdown menu and select the ‘PHP Snippet’ option.

Enter a title for code

After that, you can scroll down to the ‘Insertion’ section to view more options, such as how and where you’d like to insert the code.

We recommend using the default options. The plugin will Auto Insert the code and run it everywhere on your site.

Select the default Auto Insert method in WPCode

You can then click the toggle to make your code snippet Active.

Once that’s done, simply click the ‘Save Snippet’ button at the top.

Save and activate code snippet WPCode

Now when you send an item to the trash, it will remain there until you view your trashed files.

From here, you can manually click on the ‘Empty Trash’ button to delete any post.

Click empty trash button

We hope this tutorial helped you learn how to limit or disable automatic empty trash in WordPress. You may also want to learn how to get a free SSL certificate or check out list of must have plugins to grow your site.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Limit or Disable Automatic Empty Trash in WordPress first appeared on WPBeginner.

How to Recover and Restore Deleted Pages in WordPress

Are you trying to recover deleted pages in WordPress?

If you accidentally deleted a WordPress page, then it is possible to recover it from Trash.

In this beginner’s guide, we’ll show you how to easily recover deleted pages in WordPress and WooCommerce.

Recovering deleted pages in WordPress

How WordPress Handles Deleted Pages?

Just like your computer, WordPress moves deleted items into a ‘Trash’ folder. Doing that removes those items from your website and admin screens, but they’re not deleted permanently right away.

After 30 days, WordPress automatically deletes the item permanently from the trash, and your WordPress database.

If the page you deleted is still in the trash, then you can go ahead and restore it. We’ll show you how in a minute.

However, if it has been deleted from trash too, then you will need to try other ways to restore the deleted page in WordPress.

Sometimes you may accidentally delete a page and not notice it for a while. For instance, if you have multiple pages with the same name, and you end up deleting one that you actually needed.

Accidentally deleting similarly named pages in WordPress

Another common scenario that we have seen is users accidentally deleting pages needed by WooCommerce or their WordPress membership plugin.

That being said, let’s take a look at how to easily restore deleted pages in WordPress and WooCommerce. Here is quick table of content, so you can jump to the section that best fit your needs.

Method 1. Recover Deleted Pages from Trash in WordPress

This method is the easiest, and you should try it first before doing anything else.

Normally, when you delete an item in WordPress, it is sent to the trash folder, and you can recover it for the next 30 days. After that, it will be automatically deleted forever.

Simply go to Pages » All Pages inside your WordPress admin area. From here, you need to switch to the ‘Trash’ tab to view all the pages that have been deleted during last 30 days.

Restore deleted pages

If the page(s) you want to recover is listed there, then simply take your mouse over the page title, and you’ll see the option to ‘Restore’ it.

You can also restore multiple pages at once by selecting them and then choosing ‘Restore’ from the Bulk Actions drop-down menu at the top.

Restoring multiple pages in WordPress

You can now go to Pages » All Pages and locate the restored page there.

That was quick and easy, but what if the page you deleted is not listed under Trash?

Don’t worry, there are other ways to restore deleted pages in WordPress.

Method 2. Restore Deleted Pages in WordPress Using a Backup Plugin

Backups are one of the best WordPress security and productivity tools. All WordPress websites must set up a proper WordPress backup plugin.

These WordPress backup plugins not just help you recover a hacked WordPress site, but they can also help you recover deleted content including pages.

Note: WordPress backup plugins allow you to restore your entire website to an earlier point. This means any other changes you made to your website after that time can be lost.

If you know when you deleted a page, then you can access the last back up before that time to restore your website.

If you don’t have a WordPress backup plugin installed, then there is still a fairly good chance that your WordPress hosting company does, and you can still restore it via cPanel.

For step by step instructions you can follow our guide on how to restore WordPress from a backup. It shows how to restore WordPress from a backup using UpdraftPlus, BackupBuddy, phpMyAdmin, cPanel, and more.

Method 3. Recover Deleted WooCommerce Pages

By default, WooCommerce creates pages for the checkout, cart, shop, and account management. These are important pages for your WooCommerce store to function properly.

WooCommerce default pages

If you accidentally delete a WooCommerce page, then you can first try restoring it by looking into the Trash (see Method 1 above).

If you cannot find the page in trash, then you can simply create a new one. For instance, you can go to Pages » Add New and then create a blank page titled ‘Cart’.

Create new cart page in WooCommerce

Similarly, you can create other WooCommerce pages as well for shop, checkout, and account.

After you have created new pages, you can tell WooCommerce to use these new pages instead. Simply go to WooCommerce » Settings page and switch to the ‘Advanced’ tab.

Select WooCommerce default pages

From here, you can select pages you created earlier under the Page Setup section.

For the shop page, you’ll need to switch to the ‘Products’ tab and then select the page you want to use as your Shop page.

Shop page

Don’t forget to click on the ‘Save changes’ button to store your settings.

Method 4. Restore Selected Pages from a WordPress Backup (Advanced)

This method is a bit complicated, unreliable, and is not recommended for beginners. However, it would be useful if you don’t want to restore a complete a website and lose any changes you made after that backup.

You can simply restore your WordPress back up to a local server installation and then copy and paste the page contents that you wish to restore.

First, you’ll need to download your WordPress backup files to your computer. Simply go to your WordPress database backup plugin page and you will be able to see recent backups.

For instance, here is how you’ll see your recent backups listed in the UpdraftPlus.

Download WordPress database backup

Simply click on the database backup to download it to your computer.

Next, you will need to restore your WordPress site to a local server. You can install WordPress on your computer using WAMP (or MAMP for Mac).

After that, you can use can install your WordPress backup plugin on local server installation and restore using the backup files.

Optionally, if you have only the database backup, then you can restore that using phpMyAdmin as well.

Once you have restored the WordPress database, you will need to update WordPress Site and Home URLs in the database. To do that, simply open phpMyAdmin on your local server by typing the following URL:

http://localhost/phpmyadmin/

After that, you need to select your WordPress database from the left column and then click on the wp_options table. Switch to the browse tab and locate the rows containing ‘siteurl’ and ‘home’ under the option_name column.

Change site URLs

You’ll notice that the option_value column contains the URL of your live website. You need to edit both of these rows and replace your option_value to match your local server WordPress site.

After that click on the ‘Go’ button to save your changes.

You can now login to your localhost installation, and you’ll see all your old pages listed under Pages » All Pages.

Editing a WordPress page

Go a head and edit the page you want to restore. All you need to do is copy the content and paste it to your live WordPress website as a new page.

Copy page content

Don’t forget to update or publish changes on your live website.

We hope this article helped you learn how to recover deleted pages in WordPress. You may also want to see our complete WordPress security guide to keep your WordPress site safe and secure, and our list of the must have WordPress plugins for all websites.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Recover and Restore Deleted Pages in WordPress appeared first on WPBeginner.