Widzę, że mogę edytować informacje o permalinkach na stronie wp-admin> ustawienia> permalinki. Gdzie jednak te informacje są faktycznie przechowywane w bazie danych?
Widzę, że mogę edytować informacje o permalinkach na stronie wp-admin> ustawienia> permalinki. Gdzie jednak te informacje są faktycznie przechowywane w bazie danych?
Odpowiedzi:
W wp_options
tabeli 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_rules
opcji wordpress (również w wp_options
tabeli).
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_name
pola dla wpisu tej strony / postu w wp_posts
tabeli (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 .
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.
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.