web-dev-qa-db-fra.com

comment vider la règle de réécriture d'auteur personnalisée

Donc, j'ai créé une URL personnalisée AUTEUR comme

domain.tld/user-nicename, et j'ai maintenant des liens comme domain.tld/john-doe.

Mon functions.php est

// AUTHOR
add_filter('author_rewrite_rules', 'no_author_base_rewrite_rules');
function no_author_base_rewrite_rules( $author_rewrite ) {
    global $wpdb;
    $author_rewrite = array();
    $authors = $wpdb->get_results("SELECT user_nicename AS nicename from    $wpdb->users");
    foreach($authors as $author) {
        $author_rewrite["({$author->nicename})/?$"] = 'index.php?    author_name=$matches[1]';
    }
    return $author_rewrite;
}

if( !is_admin() ) {
    add_action('init', 'author_rewrite_so_22115103');
}

function author_rewrite_so_22115103() {
    global $wp_rewrite;
    if( 'author' == $wp_rewrite->author_base ) $wp_rewrite->author_base =     null;
}

Je crée des utilisateurs par programme avec wp_inser_user, où je définis toutes les informations nécessaires.

Mais lorsque j'approche de domaon.tld/new-user, j'ai 404 NOT FOUND, jusqu'à ce que j'ai ré-enregistré des permaliens.

Alors la question est, comment puis-je définir exactement cette ré-économie de permaliens par programme après chaque utilisation

2
xrep

Il suffit d’utiliser la documentation flush_rewrite_rules();ici .

1
Brian Fegter