Plugin info

Total downloads: 28,411
Active installs: 300
Total reviews: 2
Average rating: 5
Support threads opened: 0
Support threads resolved: 0 (0%)
Available in: 1 language(s)
Contributors: 3
Last updated: 5/20/2014 (4243 days ago)
Added to WordPress: 5/20/2014 (11 years old)
Minimum WordPress version: 3.9
Tested up to WordPress version: 3.9.40
Minimum PHP version: f

Maintenance & Compatibility

Maintenance score

Possibly abandoned • Last updated 4243 days ago • 2 reviews

22/100

Is Rewrite Rule Testing abandoned?

Possibly abandoned (last update 4243 days ago).

Compatibility

Requires WordPress: 3.9
Tested up to: 3.9.40
Requires PHP: f

Similar & Alternatives

Explore plugins with similar tags, and compare key metrics like downloads, ratings, updates, support, and WP/PHP compatibility.

Debug Bar Rewrite Rules
Rating 5.0/5 (5 reviews)Active installs 900
Rewrite Rules Inspector
Rating 5.0/5 (26 reviews)Active installs 10,000
WP Permastructure
Rating 4.3/5 (15 reviews)Active installs 400
LinkMaster – Link Management, SEO, Broken Links & Redirects
Rating 5.0/5 (2 reviews)Active installs 200
Debug Bar Rewrite Rules
Rating 0.0/5 (0 reviews)Active installs 50
My Permalink Demo
Rating 5.0/5 (1 reviews)Active installs 10

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

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

Frequently Asked Questions

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.

Review feed

Simon Blackbourn
9/3/2016

Nice

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 :)

Screenshots

  1. Sample output of passing rules

    Sample output of passing rules

  2. Sample output of failing rules

    Sample output of failing rules

Changelog

0.1.1

Cosmetic updates

0.1

Initial release. Enjoy!