dove sono memorizzate le informazioni dei permalink nel database?

16 lug 2012, 05:24:12
Visualizzazioni: 83.7K
Voti: 26

Vedo che posso modificare le informazioni dei permalink nella pagina wp-admin > impostazioni > permalink. Tuttavia, dove sono effettivamente memorizzate queste informazioni nel database?

0
Tutte le risposte alla domanda 3
0
16

Nella tabella wp_options c'è un record dove option_name = "permalink_structure".

Tuttavia, il vero controllo ultimo del rewrite degli URL è gestito dall'API WP_Rewrite che salva/memorizza nella cache le sue informazioni nell'opzione rewrite_rules di WordPress (anch'essa presente nella tabella wp_options).

MODIFICA:

Inoltre, quando si modifica una pagina/post, è possibile cambiare il "permalink" per quella pagina/post (proprio sotto dove si modifica il titolo). Tutto ciò che fa è semplicemente impostare il campo post_name per l'entrata di quella pagina/post nella tabella wp_posts (ovvero cambia lo "slug" per quella pagina).

Per tutte le pagine, sembra che le regole di rewrite 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]

Questo elenco è stato ottenuto eseguendo questo codice PHP: echo nl2br('rules = '.print_r( $wp_rewrite->rules, true) . "\n");

Non sembra esserci alcun modo integrato per modificare il routing per le pagine poiché la struttura dei permalink si applica solo ai post.

MODIFICA:

Altre informazioni casuali che sto scoprendo: se il tuo permalink_structure è una stringa vuota (che è l'opzione "predefinita" che puoi scegliere), allora WordPress salta completamente tutto il rewriting - non sono proprio sicuro del perché sia così, ma è così.

16 lug 2012 05:24:12
0
13

Le informazioni effettive - ad esempio lo 'slug' per la pagina o l'articolo sono memorizzate nella tabella wp_posts nella colonna post_name. Normalmente è una versione "slugificata" del post_title, ma può essere sovrascritta pagina per pagina.

Il permalink completo viene ricostruito in base alle impostazioni scelte in Impostazioni -> Permalink, ma lo slug effettivo si trova in post_name nella tabella wp_posts.

27 giu 2015 15:13:30
0

Le informazioni sui permalink sono memorizzate nella tabella wp_options.

Nome della tabella: $wpdb->prefix'options'

Cerca il nome dell'opzione 'permalink_structure' nella tabella delle opzioni.

In quella riga della tabella puoi visualizzare la struttura del permalink.

16 lug 2012 09:16:04