it-swarm.com.de

So setzen Sie die Permalink-Struktur über functions.php

Ich richte ein Wordpress-Netzwerk ein und wollte, dass alle neuen Websites dieselbe Permalink-Struktur haben (d. H. "/% Year% /% monthnum% /% postname% /"). Ich frage mich, ob dies über Hooks oder Hacks in functions.php möglich ist, ohne dass Benutzer diese Struktur auswählen müssen.

9
Tomas Buteler

Sie können die Permalink-Struktur festlegen, indem Sie die Methode set_permalink_structure() des globalen Objekts $wp_rewrite aufrufen.

add_action( 'init', function() {
    global $wp_rewrite;
    $wp_rewrite->set_permalink_structure( '/%year%/%monthnum%/%postname%/' );
} );

Hier ist eine PHP <5.3-Version des Codes für den Fall, dass Sie Fehler erhalten.

function reset_permalinks() {
    global $wp_rewrite;
    $wp_rewrite->set_permalink_structure( '/%year%/%monthnum%/%postname%/' );
}
add_action( 'init', 'reset_permalinks' );
15
soulseekah

Vorherige Antwort funktioniert nicht. Ich habe eine reine Lösung bekommen. Verwenden Sie diesen Code. Es wird 100% funktionieren. Vielen Dank

/**
 * Rewrite set up, when theme activate i mean
 */
if (isset($_GET['activated']) && is_admin()) {
    global $wp_rewrite;
    $wp_rewrite->set_permalink_structure('/%postname%/');
    $wp_rewrite->flush_rules();
}

/**
* Redirect to Permalink setting Page.
* Otherwise Redirect rule will not work Properly.
*/
function redirect_to_permalink() {

    wp_redirect('options-permalink.php');
}
add_action( 'after_switch_theme', 'redirect_to_permalink' );
2
Saiful Islam