When adding rewrite rules with add_rewrite_rule
add this to the file you are editing and avoid clicking save on the permalink settings page.
// do not use on live/production servers add_action( 'init','maybe_rewrite_rules' ); function maybe_rewrite_rules() { $ver = filemtime( __FILE__ ); // Get the file time for this file as the version number $defaults = array( 'version' => 0, 'time' => time() ); $r = wp_parse_args( get_option( __CLASS__ . '_flush', array() ), $defaults ); if ( $r['version'] != $ver || $r['time'] + 172800 < time() ) { // Flush if ver changes or if 48hrs has passed. flush_rewrite_rules(); // trace( 'flushed' ); $args = array( 'version' => $ver, 'time' => time() ); if ( ! update_option( __CLASS__ . '_flush', $args ) ) add_option( __CLASS__ . '_flush', $args ); } }