gdzie są przechowywane informacje o permalinkach w bazie danych?

18

Widzę, że mogę edytować informacje o permalinkach na stronie wp-admin> ustawienia> permalinki. Gdzie jednak te informacje są faktycznie przechowywane w bazie danych?

Alexander Bird
źródło

Odpowiedzi:

13

W wp_optionstabeli jest zapis gdzie option_name = "permalink_structure".

Jednak prawdziwa, ostateczna kontrola przepisywania adresów URL jest kontrolowana przez WP_Rewrite API, który zapisuje / buforuje swoje informacje w rewrite_rulesopcji wordpress (również w wp_optionstabeli).

EDYTOWAĆ:

Ponadto podczas edytowania strony / postu możesz zmienić „bezpośredni link” do tej strony / postu (tuż poniżej, gdzie zmieniasz tytuł). Wszystko, co robi, to po prostu ustawienie post_namepola dla wpisu tej strony / postu w wp_poststabeli (czyli zmiana „ślimaka” dla tej strony).

Wydaje się, że dla wszystkich stron domyślne reguły przepisywania są następujące:

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

Ta lista została uzyskana przeze mnie, uruchamiając ten kod php: echo nl2br('rules = '.print_r( $wp_rewrite->rules, true) . "\n");

Wydaje się, że nie ma wbudowanego sposobu edytowania routingu dla stron, ponieważ struktura bezpośredniego łącza dotyczy tylko postów.

EDYTOWAĆ:

Więcej losowych informacji, które odkrywam: jeśli twoja permalink_structure jest pustym ciągiem (który jest opcją „domyślną”, którą możesz wybrać), to wordpress całkowicie pomija przepisywanie - naprawdę nie jestem pewien, dlaczego tak jest, ale tak jest .

Alexander Bird
źródło
7

Rzeczywiste informacje - np. „Ślimak” strony lub posta są przechowywane w wp_posts w kolumnie post_name. Jest to normalna wersja post_title, ale można ją zastąpić strona po stronie.

Pełny permalink jest dekonstruowany na podstawie ustawień wybranych w Ustawieniach -> Permalinki, ale faktyczny ślimak znajduje się w nazwie post_name w wp_posts.

Dave Hilditch
źródło
0

Informacje o łączach bezpośrednich są przechowywane w wp_options.

Nazwa tabeli: - $ wpdb-> przedrostek 'opcje'

I nazwę opcji wyszukiwania, taką jak „permalink_structure” w tabeli opcji.

W tym wierszu w tabeli możesz zobaczyć strukturę permalink.

Arvind Pal
źródło