où les informations de permalien sont-elles stockées dans la base de données?

18

Je vois que je peux modifier les informations de permalien dans la page wp-admin> paramètres> permaliens. Cependant, où ces informations sont-elles réellement stockées dans la base de données?

Alexander Bird
la source

Réponses:

13

Dans le wp_optionstableau, il y a un enregistrement où option_name = "permalink_structure".

Cependant, le véritable contrôle ultime de la réécriture d'URL est contrôlé par l' API WP_Rewrite qui enregistre / met en cache ses informations dans l' rewrite_rulesoption wordpress (également trouvée dans le wp_optionstableau).

ÉDITER:

De plus, lorsque vous modifiez une page / publication, vous pouvez modifier le "permalien" de cette page / publication (juste en dessous de l'endroit où vous modifiez le titre). Tout ce que cela fait est simplement de définir le post_namechamp pour l'entrée de cette page / publication dans le wp_poststableau (c'est-à-dire qu'il change le "slug" pour cette page).

Pour toutes les pages, il semble que les règles de réécriture par défaut soient les suivantes:

[(.?.+?)/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]

Cette liste a été obtenue par moi en exécutant ce code php: echo nl2br('rules = '.print_r( $wp_rewrite->rules, true) . "\n");

Il ne semble pas y avoir de méthode intégrée pour modifier le routage des pages, car la structure de permalien ne s'applique qu'aux publications.

ÉDITER:

Plus d'informations aléatoires que je découvre: si votre permalink_structure est une chaîne vide (qui est l'option "par défaut" que vous pouvez choisir), alors wordpress ignore complètement toute réécriture - je ne sais vraiment pas pourquoi c'est le cas, mais c'est .

Alexander Bird
la source
7

Les informations réelles - par exemple le «slug» pour la page ou le post sont stockées dans wp_posts sous la colonne post_name. Il s'agit normalement d'une version slugifiée de post_title, mais elle peut être remplacée page par page.

Le permalien complet est déconstruit en fonction des paramètres que vous avez choisis dans Paramètres -> Permaliens, mais le slug réel est dans post_name dans wp_posts.

Dave Hilditch
la source
0

Les informations de permalien sont stockées dans wp_options.

Nom de la table: - $ wpdb-> prefix'options '

Et recherchez le nom de l'option comme «permalink_structure» dans le tableau des options.

Dans cette ligne d'un tableau, vous pouvez voir la structure du permalien.

Arvind Pal
la source