Rewrite rules are stored in an option. When flush_rewrite_rules()
is called, this option is removed, WordPress collects all rules registered during the current request and writes that option new into the database.
You registration doesn’t run on every request, so it doesn’t exist, when the option is rewritten.
Register the rule on ever page load, flush the rewrite rules on activation. Separate the registration and the flush.
register_activation_hook(__FILE__,'PluginA_activation');
add_action( 'wp_loaded', 'PluginA_rewrite_rules' );
function PluginA_activation()
{
PluginA_rewrite_rules();
flush_rewrite_rules();
}
function PluginA_rewrite_rules()
{
add_rewrite_tag('%foo%','([^&]+)');
add_rewrite_rule('foo/([^/]+)','index.php?foo=$matches[1]','top');
}
Related Posts:
- When should add_rewrite_tag() be used?
- Why does everybody hook add_rewrite_rule on init
- add_rewrite_rule() vs $wp_rewrite->rules vs ‘rewrite_rules_array’?
- How to check if a rewrite rule exists
- add_rewrite_rule not producing anything in $_GET
- Flush_rewrite_rules not working when settings updated
- Case-insensitive add_rewrite_rules in WordPress functions
- Clean URLs for custom $_GET variables
- Prettified page URL w/ query var redirects to prettified page URL w/o query var
- Separate posts by chapter per rewrite
- Using add_rewrite_rule() to redirect to Front Page
- resolve /author/ to a page or archive (of all authors) template
- Multiple values in a rewrite rule, is it possible?
- add_rewrite_rule parameter is not received by the page
- add_rewrite_rules prefix everything
- Can someone explain the function of the third parameter of “add_rewrite_tag”
- get_query_var with add_rewrite_rule and add_filter(‘query_vars’) not working
- Can rewrites fallback if 404? Rewrite conflict issue
- Reading Settings -> Front Page displays “Static Page” being reset
- add_rewrite_rule query_var not being set
- why does add_rewrite_rule refresh and loose url variables
- Where do I USE add_rewrite_rule?
- add_rewrite_rule confusion
- add_rewrite_rule isnt working, not getting added to rules array, why?
- Custom Rewrite rule to match anything not already matched by WordPress
- Uppercase to Lowercase in URL
- Add Rewrite Endpoint to CPT Archive
- Optional all capture groups in rewrite rule
- Rewrite rule : custom post type with 2 numeric variiables
- Does it still make sense using json endpoint ep_mask now that there’s the new rest api? [closed]
- Simple page URL rewrite with add_rewrite_rule()
- Hooking “delete_option_rewrite_rules” for rewrite rule addition
- Custom URL rewrites work, but break my permalinks
- WordPress shows front page, when it should show 404 with pagination style urls
- add_rewrite_rule – Additional subpages for author pages
- Rewrite rule problem
- add_rewrite_rule redirects if value = 1
- Pass query vars to front page
- add_rewrite_rule permalinks break in WordPress 4.5
- How to add rewrite rule for external php file
- Rewrite rule for path of favicon.ico ( Add_rewrite_rule function possible ? )
- FLUSH_REWRITE_RULES – after or before REGISTER_POST_TYPE?
- Using get_query_var() from a plugin
- How to flush rewrite rules on the activation of any plugin
- Rewrite without query parameter
- WordPress CPT slug and page slug conflicts
- Mod_rewritte – remove ?m=1 from url
- Rewrite Rules problem when rule includes homepage slug
- Rewrite Rule for Post Meta
- WooCommerce – Conditional for page created by rewrite_rule
- flush_rewrite_rules() not working on updating Settings API
- Rewrite rules priority
- Rewrite rules for short URL
- How do I turn off the blog and archives?
- Add_rewrite_rule doesn’t seem to work?
- Grab last part of the url inside rule
- Leverage WP_Rewrite to pre-validate links / detect invalid links
- How to do make mysite.com/post-name/sub-post?
- Custom rewrite rules for a page with GET variables?
- When request has multiple matching rewrite rules, and matched rule returns 404 – iterate to next rewrite rule
- WordPress add a rewrite rule to a page to accept a GET variable
- “/” URLs without trailing slash shows 404
- How can I resolve search error with pagination wordpress
- CPT – Nice url with add_rewrite_rule
- get_author_posts_url() doesn’t return the author URL, because of wrong author_structure
- add_rewrite_rule only works when flush first
- Homepage rewrite rule
- WordPress add_rewrite_rule with 2 variables
- Rewrite rule not working, issue may be in URI request
- custom rewrite rules will not be added to wordpress rewrite_rules database
- rewrite rules problem with #comments-2345
- Overcoming a complex WordPress page rewrite rules request
- How to create a custom URL to another domain in WordPress
- Why isn’t my rewrite rule for add_rewrite_rule not working as expected?
- Custom Fields Query Vars and Rewrite not working
- Rewrite Rules, Query Vars and Pagination
- Pretty links with add_rewrite_rule and add_query_var
- A part of regular expression in add_rewrite_rule function not working
- How to change URL in WordPress
- WordPress Rewrite rule with custom query var
- default ‘post’ post type: not forcing url rewrite when args set
- How to add rewrite rule to point to file
- Last query_var not working with rewritten URL
- Rewire Rules Front Page
- How to use endpoint, but remove/rewrite endpoint base?
- WordPress URL rewrite after changing web from Joomla
- add_rewrite_rule doesn’t work for me
- Rewritten URL not loading WordPress environment
- WordPress Custom post type single page 404 error
- Rewriting base name Taxonomy same Post Type
- Where to hook to bypass instantiating WP_Query?
- Rewrite for page with a possible unknown parent page
- Rewrite the WordPress URL from custom plugin
- add_rewrite_rule works only with one “directory”
- How to Add Rewrite Ruled Argument Into Permalink Properly
- Overwrite WP’s default search rule to redirect to my own template
- Custom URL rewrite with add_rewrite_rule
- Rewrite rule to index.php in theme subfolder
- WordPress rewrite rule – not able to access second and third parameters
- Custom URL Rewrite Rules not working