Domanda

Ho avuto problemi sulla creazione di nuovi blog wordpress dove sto impostazione permalink tramite script all'attivazione tema. Tuttavia, anche se sembrano essere corretto quando controllo le impostazioni permalink in WP, le mie nuove pagine stanno gettando 404 errori.

L'unica difficoltà che ho trovato è che devo tornare a opzioni permalink e fai clic su "Salva modifiche", anche se, in base al display, ho fatto nessuna modifica alla necessità di salvare ...

Sono la creazione permalink a /% postname% /

Ecco come lo sto facendo.

if(get_option('permalink_structure')==""){update_option('permalink_structure', '/%postname%/');}

Questo script viene eseguito quando viene attivato il mio tema.

Tutte le idee perché lo fa solo in parte il lavoro?

È stato utile?

Soluzione

Quando si imposta la struttura dei permalink in Wordpress impostazioni del pannello si chiama la funzione set_permalink_structure in wp_includes/rewrite.php. Oltre a impostare l'opzione permalink_structure questa funzione reinitialises anche la componente riscrittura WordPress e gestisce l'azione permalink_structure_changed.

Si dovrebbe chiamare questa funzione invece di impostare direttamente l'opzione, qualcosa di simile a questo dovrebbe funzionare:

if (get_option('permalink_structure') == '') {
    global $wp_rewrite;
    $wp_rewrite->set_permalink_structure('/%postname%/');
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top