Não existe nenhuma função no WordPress denominada “rewrite_rules_array”, existe sim um filtro de chama varias funções (leia-se callbacks) com essa designação, para forçares a chamada desses callbacks podes usar o PHP da seguinte forma
$varivavel = apply_filters('rewrite_rules_array', $varivavel)
Uma pergunta, porque queres que o ‘rewrite_rules_array’ seja chamado obrigatoriamente? Talvez haja uma forma melhor de se fazer…
Fiz um portfolio, que nas configurações dele é semelhande as configuração do WordPress (Pagina inicial e Página de posts), ou seja, tem um <select> Página do Portfolio. Quando essas configurações são salvas, é adicionado no rewrite rules algumas linhas com o slug dessa página.
Mas se o usuário esquecer e trocar o slug da página que está sendo usada como Portfolio, vai dar pau. Então preciso que ao salvar um “Projeto” (que é um custom post type) preciso que seja criado um novo rewrite rules e adicionar as linhas com o slug correto.
Ao salvar uma “página” no WordPress ele chama meu callback rewrite_rules_array, mas em posts ou custom post type não chama.
Tentaste com o flush_rewrite_rules sempre que adicionas / alteras um custom post?
Sabe qual filtro ou action devo colocar o flush_rewrite_rules ?
No inicio do processamento do WordPress por exemplo
function __action_init() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
add_action('init', '__action_init');
PS: podes/deves usar esta função temporariamente, pois é um pouco pesada. Com esta função, irás fazer “rebuild” dos rewrites.