Vedo che posso modificare le informazioni sul permalink nella pagina wp-admin> impostazioni> permalink. Tuttavia, dove sono effettivamente memorizzate tali informazioni nel database?
Vedo che posso modificare le informazioni sul permalink nella pagina wp-admin> impostazioni> permalink. Tuttavia, dove sono effettivamente memorizzate tali informazioni nel database?
Risposte:
Nel wp_options
tabella c'è un record in cui option_name = "permalink_structure"
.
Tuttavia, il controllo vero e assoluto della riscrittura degli URL è controllato dall'API WP_Rewrite che salva / memorizza nella cache le sue informazioni rewrite_rules
nell'opzione wordpress (presente anche nella wp_options
tabella).
MODIFICARE:
Inoltre, quando modifichi una pagina / post, puoi cambiare il "permalink" per quella pagina / post (proprio sotto il punto in cui cambi il titolo). Tutto ciò che sta facendo è semplicemente impostare il post_name
campo per la voce di quella pagina / post nella wp_posts
tabella (ovvero sta cambiando la "lumaca" per quella pagina).
Per tutte le pagine, sembra che le regole di riscrittura predefinite siano le seguenti:
[(.?.+?)/page/?([0-9]{1,})/?$] => index.php?pagename=$matches[1]&paged=$matches[2]
[(.?.+?)/comment-page-([0-9]{1,})/?$] => index.php?pagename=$matches[1]&cpage=$matches[2]
[(.?.+?)(/[0-9]+)?/?$] => index.php?pagename=$matches[1]&page=$matches[2]
Quella lista è stata ottenuta da me eseguendo questo codice php: echo nl2br('rules = '.print_r( $wp_rewrite->rules, true) . "\n");
Non sembra esserci alcun modo incorporato per modificare il routing per le pagine poiché la struttura del permalink si applica solo ai post.
MODIFICARE:
Sto scoprendo altre informazioni casuali: se la tua permalink_structure è una stringa vuota (che è l'opzione "predefinita" che puoi scegliere), allora wordpress salta completamente tutta la riscrittura - non sono davvero sicuro del perché, ma è .
Le informazioni effettive, ad es. La 'lumaca' per la pagina o il post, sono archiviate in wp_posts sotto la colonna post_name. Questa è una versione ridotta di post_title normalmente, ma può essere sovrascritta pagina per pagina.
Il permalink completo viene decostruito in base alle impostazioni selezionate in Impostazioni -> Permalink, ma la lumaca effettiva è in post_name in wp_posts.
Le informazioni sul permalink sono memorizzate in wp_options.
Nome tabella: - $ wpdb-> prefisso "opzioni"
E cerca il nome dell'opzione come 'permalink_structure' nella tabella delle opzioni.
In quella riga di una tabella puoi visualizzare la struttura del permalink.