init
is the recommended hook and no, the rewrite rules will not be overwritten each time the hook fires or that the page is loaded, unless if you call flush_rewrite_rules()
or WP_Rewrite::flush_rules()
in your callback.
add_action( 'init', 'add_my_rewrite_rules' );
function add_my_rewrite_rules() {
add_rewrite_rule( ... );
flush_rewrite_rules(); // don't do this
}
So please don’t do that, or do it only upon plugin/theme activation and deactivation — and if you don’t already know, you can easily flush the rules by simply going to the Permalink settings admin page, without having to hit the Save Changes button.
Related Posts:
- Dynamic Endpoints
- How to add custom rewrite rule to .htaccess?
- How do I remove a rewrite rule?
- Problem with add_rewrite_rule and pagination (paged and page query_vars)
- How to change default page slug?
- Disable wordpress pagination URL rewrite for specific page
- How to use Post Custom Metadata in Post Titles and Post Permalinks
- Rewrite url for custom post type
- add_query_vars and add_rewrite_rules
- Need help with rewrite_rules_array
- Why does wordpress still strip my query var?
- When to call `add_rewrite_rule` for safety
- Custom rewrite rules are sending everything to index.php
- WordPress Network on IIS7/SQL Server – Rewrite Issues
- Custom comments
- Rewrite rules goes away
- add_rewrite_rule again
- Rewrite Rule for Post “Subpage”, with pagination
- Need to make a php file inside theme accessible via url
- Rewrite loading custom template file but is_home() returns true, and there’s no 404
- Rewrite rule for admin-ajax.php
- Evaluating a external rewrite rule before internal wordpress rewrite rule
- WordPress rewrite rules for state and city
- Multiple Permalinks for Same Post
- add_rewrite_rule not working for language specific characters
- Custom rewrite rule
- Single Redirection Rule for Pages and Archive links
- Is it possible to remove feeds from rewrites?
- Flush Rewrite Rules on init or rest_api_init?
- Remove “/page/1” from the URL
- hard flush_rewrite_rules() not regenerating .htaccess
- Rewrite URL – insert custom variables as a directory path
- How to properly rewrite url by custom var
- Rewrite Rules Are Redirecting and Not Passing VARs
- Can’t add external rewrites
- custom template rewrite
- How to building pretty URLs to reflect category hierarchy?
- WordPress Rewrites – How can I pass a variable to Custom Post Type?
- Monkey Man Rewrite Analyzer says my rule will trigger but it doesn’t [closed]
- Need to add rewrite rule that adds in additional information about the post to url
- add_rewrite_rule is redirecting instead of rewriting url
- Help with Rewrite Rule for Custom Post Type with Query String
- Create Dynamic SEO Friendly URL for Virtual Page
- add_rewrite_rule with query variables
- Rewrite rules automatically for pages using specific template
- Custom Rewrite rule to captured post (rewrite rule to rewrite rule)
- QSA Rewrite Rule
- Help with rewrite rules for two post types
- How to pass url as a parameter in a add_rewrite_rule
- Per Page Permalink Structure for Page Post Type
- Customise particular RSS permalink
- ReWrite rule for files of a previously standalone blog moved to network
- RSS feed rewrite matching wrong rule
- Rewrites rules disappear after a while
- Trouble with question mark in rewrite rule
- What URL rewriting rule should I write to retrieve a var in the URL?
- Custom rewrite rule not working
- How to use wp rewrite to hide form action url?
- WordPress Rewrite rule is not working
- Redirect URL to an existing page with query string or #! added on
- How do I make WordPress revise an .htaccess file a certain way?
- How can I allow trailing slashes on some URLs without a redirect, but not on others?
- Can’t use a specific custom URL (slug)?
- How to change an existing wordpress page rewrite rule?
- URL rewriting in wordpress using parameters
- Adding the amp url prefix to the beginning
- Rewrite rules – page does not exist
- Use URI suffix as parameter and ignore when resolving page
- Why wordpress rewrite my custom URL?
- Rewrite rule regex help required
- Redirect empty search to another page
- Rewrite Rules are Redirecting
- Rewrite dynamic URLs as pretty URLs in WordPress functions.php (add_rewrite_rule) – what’s wrong with my code?
- How to redirect to a login virtual page?
- Rewrite rule not working, suspect redirect string
- Issue with custom rewrite for products and permalinks
- Prefix only some posts with a custom prefix
- Help adding custom url, rewrite_rules_array
- How to use a capture from a rewrite rule inside a php file (like single.php)?
- url rewriting on custom post type
- Broken page redirect
- Rewrite rule not redirecting correctly
- Custom taxonomy Rewrite Rule
- add_rewrite Rule
- rewrite rule of post when accessed from archives pages
- I want to add one extra field to my URLs, I’m using Rewrite functions but it doesn’t work
- Font Page overrides rewrites
- Rewrite rule is not working
- How to make a custom route with any-string-part/number-part pointing to an existing page?
- Post Type Rewrite Custom
- Additional .htaccess rules based on wp page
- URL Rewriting in WordPress
- Rename page URL
- Help with url rewrite
- Use add_rewrite_rule to change subpage url
- Rewrite Page Parameters
- Rewrite rule to simulate page hierarchy results in 404
- add_rewrite_rule not working with custom variables
- add_rewrite_rule doesn’t work when trying to add a new parameter at the end of URL
- Standard Regex syntax doesn’t work in WordPress rewrite rule