Title: Rewrite Rule Testing
Author: Matthew Boynes
Published: <strong>May 20, 2014</strong>
Last modified: May 20, 2014

---

Search plugins

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://s.w.org/plugins/geopattern-icon/rewrite-testing.svg)

# Rewrite Rule Testing

 By [Matthew Boynes](https://profiles.wordpress.org/mboynes/)

[Download](https://downloads.wordpress.org/plugin/rewrite-testing.0.1.1.zip)

 * [Details](https://twd.wordpress.org/plugins/rewrite-testing/#description)
 * [Reviews](https://twd.wordpress.org/plugins/rewrite-testing/#reviews)
 *  [Installation](https://twd.wordpress.org/plugins/rewrite-testing/#installation)
 * [Development](https://twd.wordpress.org/plugins/rewrite-testing/#developers)

 [Support](https://wordpress.org/support/plugin/rewrite-testing/)

## Description

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.

### Todo

 * Add a debug bar extension which reads a transient; the transient would be
    updated
   whenever rewrite rules are flushed. The debug bar extension would show pass/fail
   status and link directly to the settings page.
 * Add tests for other permalink structures?
 * Add a way to run this as part of phpunit

## Screenshots

 * [[
 * Sample output of passing rules
 * [[
 * Sample output of failing rules

## Installation

 1. Upload to the /wp-content/plugins/ directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. Go to Tools → Rewrite Testing

## FAQ

  I installed this and my tests failed, what gives?

Out-of-the-box, this plugin is setup to test core rewrites for the “Day and
 Name”
permalink structure. The purpose of this plugin is not to test core rewrites; these
are just to serve as a demonstration.

## Reviews

![](https://secure.gravatar.com/avatar/b3d80bf07ca0adc8c136dd0e88385a0471134fe362967df4a5faa4a752bdc810?
s=60&d=retro&r=g)

### 󠀁[Nice](https://wordpress.org/support/topic/nice-1659/)󠁿

 [Simon Blackbourn](https://profiles.wordpress.org/lumpysimon/) September 3, 2016

Regex and WordPress rewrite rules are probably my two Least Favourite Things, so
this plugin is essential for making sure I haven’t messed anything up 🙂

 [ Read all 2 reviews ](https://wordpress.org/support/plugin/rewrite-testing/reviews/)

## Contributors & Developers

“Rewrite Rule Testing” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Matthew Boynes ](https://profiles.wordpress.org/mboynes/)
 *   [ Alley ](https://profiles.wordpress.org/alleyinteractive/)

[Translate “Rewrite Rule Testing” into your language.](https://translate.wordpress.org/projects/wp-plugins/rewrite-testing)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/rewrite-testing/), 
check out the [SVN repository](https://plugins.svn.wordpress.org/rewrite-testing/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/rewrite-testing/)
by [RSS](https://plugins.trac.wordpress.org/log/rewrite-testing/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.1.1

Cosmetic updates

#### 0.1

Initial release. Enjoy!

## Meta

 *  Version **0.1.1**
 *  Last updated **12 years ago**
 *  Active installations **300+**
 *  WordPress version ** 3.9 or higher **
 *  Tested up to **3.9.40**
 *  Language
 * [English (US)](https://wordpress.org/plugins/rewrite-testing/)
 * Tags
 * [permalinks](https://twd.wordpress.org/plugins/tags/permalinks/)[rewrite rules](https://twd.wordpress.org/plugins/tags/rewrite-rules/)
   [testing](https://twd.wordpress.org/plugins/tags/testing/)[tests](https://twd.wordpress.org/plugins/tags/tests/)
 *  [Advanced View](https://twd.wordpress.org/plugins/rewrite-testing/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  2 5-star reviews     ](https://wordpress.org/support/plugin/rewrite-testing/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/rewrite-testing/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/rewrite-testing/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/rewrite-testing/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/rewrite-testing/reviews/?filter=1)

[Add my review](https://wordpress.org/support/plugin/rewrite-testing/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/rewrite-testing/reviews/)

## Contributors

 *   [ Matthew Boynes ](https://profiles.wordpress.org/mboynes/)
 *   [ Alley ](https://profiles.wordpress.org/alleyinteractive/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/rewrite-testing/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](http://url)