Rewrite Rule Testing

Unit test your rewrite rules from the WordPress Admin.

Author:Matthew Boynes (profile at
WordPress version required:3.9
WordPress version tested:3.9.1
Plugin version:0.1.1
Added to WordPress repository:20-05-2014
Last updated:20-05-2014
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
Rating, %:100
Rated by:2
Plugin URI:
Total downloads:3 139
Active installs:200+
plugin download
Click to start download

This plugin provides a simple interface for testing your custom rewrite rules.

The purpose of this plugin is to be able to test your own rewrite rules, so you're probably most interested in knowing how to do that, right? The plugin provides a filter, rewrite_testing_tests to add your own tests. That filter passes an associative array of name => tests. The tests array is an associative array of URI => expected match. In the outer array, the "name" is arbitrary and for your own reference. In the inner array, the "URI" is the path you want to test, and the "expected match" is what WordPress should find as a rewrite match.

Enough chit-chat, here's an example:

function my_rewrite_tests( $tests ) {
  return array(
    'Events' => array(
      '/event/super-bowl/' => 'index.php?event=$matches[1]',
      '/event/super-bowl/page/2/' => 'index.php?event=$matches[1]&paged=$matches[2]'
add_filter( 'rewrite_testing_tests', 'my_rewrite_tests' );

You can see the test_cases() method for a full suite of tests for the "Day and Name" permalink structure. It's not necessary to leave these in (in fact, the above demo would wipe them out), unless you want to make sure that your custom rewrites aren't affecting core rewrites. If you aren't using "Day and Name" permalinks, you'll need to adjust the tests to fit your permalink structure.