web-dev-qa-db-fra.com

où l'information de permalien est-elle stockée dans la base de données?

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?

17
Alexander Bird

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 disponible dans la table wp_options).

MODIFIER:

En outre, lors de l'édition d'une page/d'un article, vous pouvez modifier le "lien permanent" pour cette page/cet article (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 (c'est-à-dire que 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]

J'ai obtenu cette liste 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 permalien ne s'applique qu'aux publications.

MODIFIER:

Je découvre plus d'informations aléatoires: si permalink_structure 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 sais vraiment pas pourquoi c'est le cas, mais c'est le cas .

13
Alexander Bird

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.

4
Dave Hilditch

Les informations de permalien 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 permalien.

0
Arvind Pal