add_rewrite_rule wordpress con w3 caché total

Estoy tratando de reescribir la regla para ser amigable. Aquí está el código que puse en mi tema function.php

add_action('init', 'add_my_rewrite_rule'); function add_my_rewrite_rule(){ add_rewrite_rule('^quiz/([^/]*)/([^/]*)?','index.php?pagename=quiz&quiztitle=$matches[1]&quizid=$matches[2]','top'); } add_filter('query_vars','set_quiz_query_var'); function set_quiz_query_var($vars) { array_push($vars, 'quiztitle'); array_push($vars, 'quizid'); return $vars; } 

Como este fragmento no funcionaba, también intenté reescribir la regla .htaccess.

 RewriteRule ^quiz/([^/]+)/([^/]+)$ /index.php?pagename=quiz&quiztitle=$1&quizid=$2 [NC,R=301,L] 

Supongo que esto se debe a la memoria caché total w3. Pasé toda la noche pero no pude resolverlo solo …

limpie las reglas de reescritura – vaya a los enlaces permanentes de configuración y haga clic en “guardar”

Perdón por responderme! Pasé toda la noche y el día para descubrir el problema.

Usé add_filter en lugar de add_action y funcionó.

 add_filter('rewrite_rules_array','add_my_rewrite_rule'); function add_my_rewrite_rule($rules) { $newrules = array(); $newrules['^quiz/([^/]+)/([^/]+)/?'] = 'index.php?pagename=quiz&quiztitle=$matches[1]&quizid=$matches[2]'; return $newrules + $rules; }