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

15

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

    
posée Alexander Bird 16.07.2012 - 04:24

3 réponses

12

Dans la table wp_options , 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'option rewrite_rules wordpress (également présente dans la table wp_options ).

EDIT:

De même, lorsque vous modifiez une page / une publication, vous pouvez modifier le "lien permanent" pour cette page / cette publication (juste en dessous de l'endroit où vous modifiez le titre). Tout ce que vous faites est simplement de définir le champ post_name pour l'entrée de cette page / publication dans la table wp_posts (autrement dit, cela 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 en exécutant ce code php: echo nl2br('rules = '.print_r( $wp_rewrite->rules, true) . "\n");

Il ne semble pas exister de moyen intégré pour modifier le routage des pages car la structure de lien permanent ne s'applique qu'aux publications.

EDIT:

Plus d'informations aléatoires que je découvre: si votre structure permanente est une chaîne vide (ce qui est l'option "par défaut" que vous pouvez choisir), alors Wordpress ignore complètement toute réécriture - je ne suis pas vraiment sûr de la raison, mais ça l'est.

    
réponse donnée Alexander Bird 16.07.2012 - 04:24
4

Les informations réelles - par exemple le 'slug' de la page ou de la publication est stocké dans wp_posts sous la colonne post_name. Ceci est une version slugifiée de post_title normalement, mais peut être écrasé 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 actuel est dans post_name dans wp_posts.

    
réponse donnée Dave Hilditch 27.06.2015 - 14:13
0

Les informations de lien permanent sont stockées dans wp_options.

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

Et le nom de l'option de recherche comme "permalink_structure" dans la table des options.

Dans cette ligne d'un tableau, vous pouvez voir la structure de lien permanent.

    
réponse donnée Arvind Pal 16.07.2012 - 08:16

Lire d'autres questions sur les étiquettes