vernal pool


WordPress Clean Options Plugin


Clean Options version 1.3.2 has not been thoroughly tested for use with WordPress MULTISITES enabled.
Clean Options version 1.3.2 should work with WordPress 3.0 with the exception that if MULTISITES is enabled, the plugin will only find options found in the primary blog's wp_options table.
If you have MULTISITES enabled Use At Your Own Risk.
Clean Options version 1.3.2 is the last planned version release for older WordPress versions. No new features or translations will be added.
Clean Options 2.0.0 is currently being developed. It will not be fully compatible with older versions of WordPress, but it will be compatible with WordPress 3.0, including finding options if MULTISITES is enabled. However, portions of the i18n l10n files will not have translations for any of the new text - unless and until they are provided.

The Clean Options plugin Finds orphaned options and allows for their removal from the wp_options table. The current version is 1.3.2 If you find any bugs or have any suggestions for improvement, Please let me know.

The Clean Options plugin provides an easy way for WordPress bloggers to manage their wp_options table. It has many built in safety features that will help prevent accidental deletion of table rows that may be needed for the error free operation of the blog. It's goal is to give plugin users an easy and safe way to get a bloated wp_options table down to a manageable size, thus improving the performance of their blog, and keep it that way. It also provides warning messages that will alert plugin users of potential problems that are encountered.

In addition to the warning messages, option names can be double-checked by following the link to the wp-admin/options.php page, using the Google search links, and by searching the wp-content folder for files that contain either the option_name outside of get_option, or fragments of the option_name (up to 3 pieces).

The Clean Options plugin works with PHP >= 4.2.0 and PHP 5.

Orphaned Options List

Listed Options are those that are found in the wp_options table but are not referenced by "get_option" or "get_settings" by any of the PHP files located within your blog directory. If you have deactivated plugins and/or non-used themes in your directory, the associated options will not be considered orphaned until the files are uninstalled.

When shown, non-selectable Options are known to have been created from files present during upgrade or backup, or are legitimate options that do not "fit" the search for get_option or get_settings (eg. core WordPress files that use alternate "non-string" syntax). If you wish to remove them by other means, do so at your own risk.

RSS Options

The plugin handles the rss_hash options, added to the wp_options table from the blog's dashboard page and other files that parse RSS feeds and cache the results, in three ways.

If the wp_options table contains more than 500 rss_hash options, the "delete all" feature will be available. Submitting the "Delete ALL 'rss_' Options" may delete ALL "rss_hash" rows from the wp_options table, including the CURRENT ones. It is not expected that doing so will cause any problems, however, it makes the performance of a database BACKUP prior to deletion even more important. To help ensure that no current "rss" options are deleted, the plugin makes the last 100 entries of the wp_ options table exempt from the "delete all". But depending on your installation history this may not be adequate protection.
The "rss_hash" rows are not retrieved and displayed, but simply deleted. Even with the built in safety feature, it is recommended that instead of doing this, that the number of rss_hash options found be limited to only a selected number of the most recent at a time, being repeated as needed.

If the wp_options table contains more than 350 options, radio buttons are visible that will allow the number of rss_hash options found to be limited to various numbers of most recent pairs. This can be repeated until the number of options is less than 350.

When the wp_options table contains less than 350 options, the plugin finds ALL of the "RSS" Options. In each pair, the upper option is the cached feed and the lower is the option's timestamp.
Those listed may include options that are Currently Active
When shown, rss_option pairs with dates newer or the same as the date of 14'th newest rss_option pair (the ones that are more likely to be current) have no checkbox but begin with "-" and end with "# days old" in italics.
The older rss_options can be selected and end with "# days old" in bold.
Please only remove the older options in which BOTH options of the pair can be selected.

For convenience, a javascript select/deselect all has been added to the plugin. "all" means BOTH "plugin" AND "rss_" options.

Orphaned Options Preview

Spaces have been added after every 10th character of the option_name and every 20th character of the option_value to preserve page layout.
Not all options have values and/or descriptions. Option descriptions were deprecated with WordPress version 2.3
Please review this information very carefully and only remove Options that you know for certain have been orphaned or deprecated.
It is strongly suggested that you BACKUP your database before removing any options.


  1. If you are upgrading, deactivate the plugin and remove the cleanoptions.php file from the plugins directory before step 2
  2. Upload the Clean Options folder to the '/wp-content/plugins/' directory
  3. Activate the plugin through the 'Plugins' menu in WordPress
  4. Click the 'Manage'/'Tools' admin menu link, and select 'CleanOptions'

Orphaned Options List Screenshot

screenshot of plugin GUI

RSS Options List Screenshot

screenshot of plugin GUI

Orphaned Options Warning Message Screenshot

screenshot of plugin GUI

Orphaned Options Review Screenshot

screenshot of plugin GUI

Version History

1.3.2 26-Jun-2010

  • updated the $known_ok array (for WordPress 3.0)
  • de_DE German translation
  • nl_NL Dutch translation

1.3.1 27-Mar-2010

  • allow 2.9.1 blogs to remove 2.8 transient options
  • added timestamp to blog date/time format in review
  • updated $known_ok array
  • get_all_yes_autoload_options() optimization
  • expanded string search to core files
  • added 'site' to regex pattern
  • added get_transient regex
  • sr_RS Serbian Cyrillic translation
  • sr_RS Serbian Latinica translation
  • minor typo fixes
  • updated older translation files

1.3.0 16-Jan-2010

  • updated the $known_ok array (for WordPress 2.9)
  • optimized for WordPress 2.9
  • replaced deprecated user_role
  • pt_BR Portuguese translation
  • zh_CN Chinese translation
  • hr_HR Croatian translation

1.2.3 10-Sep-2009

  • removed WordPress < ver. 2.3 feature
  • WordPress < ver. 2.7 fix
  • be_BY Belarusian translation

1.2.2 27-Aug-2009

  • es_ES Spanish translation
  • corrected ru_RU Russian translation
  • uk_UA Ukrainian translation

1.2.1 14-Aug-2009

  • added more "transient"s
  • allow 2.8+ blogs to remove all obsolete rss_hash rows
  • allow for non-default folder locations/names
  • improved unpaired rss block
  • capability check for added security
  • eliminate 2.8+ false warnings
  • ru_RU translation
  • minor tweaks
  • changed Version History to Changelog in readme

1.2.0 19-Jun-2009

  • Internationalization
  • updated the $known_ok array (for WordPress 2.8)
  • changed admin CSS hook
  • plugin page Settings link
  • option count in admin menu
  • minor tweaks

1.1.9 27-Mar-2009

  • $wpdb compatibility with WordPress < 2.5

1.1.8 27-Mar-2009

  • nonce compatibility with WordPress < 2.5
  • minor tweak

1.1.7 24-Mar-2009

  • added show/hide Known Core
  • added Search feature
  • exclude non WP folders in searchdir()
  • tweaked nonce calls
  • changed fopen to is_readable
  • changed fread to file_get_contents

1.1.6 18-Mar-2009

  • reduced # of dt in warnings
  • searchdir tweak
  • added support for MySQL < 4.1
  • $rss_ts_arr sort tweak
  • added option_name Google search links

1.1.5 09-Mar-2009

  • "delete all" Bug Fix

1.1.4 08-Mar-2009

  • added link to options.php page
  • some regex refinement
  • added "known Core" wording
  • removed %s from yes in queries
  • added category_children as known core
  • added show/hide AS warnings

1.1.3 07-Mar-2009

  • added error message info
  • added find non-string option names
  • changed the way limit_query works
  • optimized database queries
  • refined 'yes' regex
  • more minor tweaks yet again

1.1.2 25-Feb-2009

  • added show_errors to DB objects
  • friendlier CSS selectors
  • added label tags

1.1.1 21-Feb-2009

  • query syntax change
  • query error catching added
  • error scope changes

1.1.0 RC 27-Jan-2009

  • limit 'delete all' rss delete to < 100 highest id
  • added rss_hash limited find
  • fixed and updated the $known_ok array (for WordPress 2.7)
  • improved robustness
    • fixed searchdir() return type initialization
    • set explicit return type in $wpdb->get_results queries
    • ini_get('safe_mode') fixes
  • changed found rss_hash options section
  • added javascript select/deselect all
  • various other minor tweaks

1.0.0 RC 12-Nov-2008

  • increased memory limit from 32M to 64M
  • added remove all rss_hash section

Beta 0.9.7 06-Aug-2008

  • provided for time limit increase
  • updated the $known_ok array (for WordPress 2.6)
  • added test for empty option_name field [autoload != yes block]

Beta 0.9.6 19-Oct-2007

  • added test for empty option_name field [autoload = yes block]
  • tweaked error handling

Beta 0.9.5 18-Oct-2007

  • scoped $cur_wp_ver
  • changed WP_Error obj syntax
  • replaced get_alloptions() with get_all_yes_autoload_options()
  • updated the $known_ok array
  • removed $wpdb->hide_errors() from get_all_no_autoload_options()
  • removed global $wp_queries from get_all_no_autoload_options()

Beta 0.9.4 06-Oct-2007

  • added WordPress ver. 2.3 compatibility

Beta 0.9.3 06-Jul-2007

  • updated/improved WP core options array
  • provided for memory limit increase
  • optimized memory usage

Beta 0.9.2 25-Apr-2007

  • improved protection against accidental removal of WP core options
    • expanded the $known_ok array
    • test for non-default install prefix user_roles option
    • added backup suggestion

Beta 0.9.1 24-Apr-2007

  • changed a 'hard-coded' wp_ to $wpdb->

Beta 0.9.0 22-Apr-2007

  • added get_all "rss_" options
  • changed str_replace() to wordwrap()

Beta 0.7.1 17-Apr-2007

  • added "Further Information" section

Beta 0.7.0 13-Apr-2007

  • initial release

Download the plugin Clean Options 1.3.2
For support, please visit the Mittineague Forums (registration required to post)

Translation Acknowledgements

About - Blog - Sitemap - Contact - Forums - Home 

PHP icon. PEAR icon. MySQL icon. phpBB icon. Sitepoint icon. Valid XHTML 1.0 icon. Valid CSS! icon. Level A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0