WPThumbs
Themes Plugins By purpose By industry Best-of lists Fix it guides
Free Plugin by Matthew Boynes v0.1.1

Rewrite Rule Testing

Unit test your rewrite rules from the WordPress Admin.

Rewrite Rule Testing

The facts

Rating
5★ from 2
Active installs
300+
Price
Free
Last updated
20 May 2014
Added
May 2014
Requires WP
3.9
Tested up to
WP 3.9.40
Downloads
32,222

Our analysis

AI-assisted

Rewrite Rule Testing is a WordPress plugin designed for testing custom rewrite rules. It allows you to create a simple interface to verify that your rewrite rules function as expected by matching specific URIs to their expected outputs.

This plugin is particularly useful for developers who need to ensure their custom permalink structures are working correctly without interfering with core WordPress rewrites. It provides a filter to add your own tests, making it adaptable to various permalink configurations.

Best for: This plugin suits WordPress developers working with custom permalink structures.

What it does well

  • Free to use from the WordPress.org directory
  • Allows testing of custom rewrite rules
  • Provides a filter for adding custom tests

Where it falls short

  • Last updated in May 2014, may not be compatible with newer WordPress versions
  • Limited information on additional features or support

Verdict

Rewrite Rule Testing offers a straightforward solution for testing rewrite rules, but its age and lack of updates may limit its effectiveness for some users.

From the developer

Matthew Boynes's own description of Rewrite Rule Testing, lightly tidied.

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

Read the full description on the official page →

Tagged as