Full Email Log With Search, Viewer and Resend
Records every outgoing email in its own database table and adds Tools > Mail Log, where you can search, read the full message, resend it, and clear old entries automatically.
Snippet Library
3,040 free snippets from the WPIDE team and the community. Copy the code, or add any snippet to your site in one click with WPIDE.
Records every outgoing email in its own database table and adds Tools > Mail Log, where you can search, read the full message, resend it, and clear old entries automatically.
Adds a hidden field to the comment form that people never see but many bots fill in. Comments that fill it are rejected before reaching the database.
Shortens how long WooCommerce's Action Scheduler keeps finished tasks from 31 days to 7, which keeps its database tables small on busy stores.
Makes WooCommerce delete its log entries (payment gateways, shipping, webhooks and more) after 7 days instead of 30, keeping the log table and folder small.
Keeps only the five most recent revisions of each post, which stops the database from growing with old copies.
When SAVEQUERIES is enabled, lets administrators add ?wpide_queries=1 to a front-end URL to see every SQL query of the page with its time and calling function, slowest first.
Records front-end URLs that run more database queries than a limit you set, with the query count and load time, and lists the worst offenders under Tools > Heavy Pages.
Ignores searches shorter than a few characters, which return huge, useless result lists and put extra load on the database.
Adds Tools > Clean Up Revisions, which shows how many post revisions your database holds and deletes revisions older than a chosen number of days after you confirm, always keeping the newest few per post.
Adds Tools > Orphaned Metadata, which counts post, comment, term and user meta rows whose post, comment, term or user no longer exists, and removes them after you confirm.
Stops scheduled tasks from running on local, development and staging copies of the site, so a cloned database does not send newsletters, sync orders or run backups twice.
Adds an HTML comment at the bottom of front-end and admin pages with the number of database queries, generation time and peak memory. Visible to administrators only.
Adds a [random_posts] shortcode that lists a few random posts, optionally from chosen categories or another post type, without running a slow random database query on every page view.
Limits how many searches one visitor can run per minute and answers the rest with "429 Too Many Requests", protecting your database from search floods.
Lists three posts from the same categories at the end of each single post. No plugin, no extra database tables.
Run on demand to find custom field rows that are exact duplicates (same post, key and value) and keep only one of each, a common side effect of buggy imports and plugins.
Once a day, removes expired login sessions that WordPress keeps in user meta until the user logs in again, which on membership sites and shops adds up to a lot of dead data.
Adds Tools > Leftover Plugin Data, where you enter a prefix (such as old_slider_) to see how many options, post meta, user meta and scheduled tasks use it, and delete them after reviewing the counts.
Run on demand to delete category and tag links that point to posts that no longer exist, and then recount how many posts each term has.
Drops the "All dates" dropdown from post and media lists, saving a slow query on sites with many thousands of posts or files.
Changes the names roles show on the Users screen and in role menus, for example "Subscriber" to "Member", without touching capabilities or the database.
Keeps a different number of revisions for each content type, for example many for posts and none for products.
Adds a Tools > Options Viewer screen where administrators can search the options table by name and see each value decoded and pretty-printed, including serialized arrays that Settings > All hides.
Routes all WordPress email through an SMTP server, using credentials stored as constants in wp-config.php rather than in the database.