Где хранится информация о постоянных ссылках в базе данных?

16 июл. 2012 г., 05:24:12
Просмотры: 83.7K
Голосов: 26

Я вижу, что могу редактировать информацию о постоянных ссылках в админ-панели WordPress: wp-admin > Настройки > Постоянные ссылки. Однако, где эта информация фактически хранится в базе данных?

0
Все ответы на вопрос 3
0
16

В таблице wp_options есть запись, где option_name = "permalink_structure".

Однако истинный, окончательный контроль над перезаписью URL осуществляется через WP_Rewrite API, который сохраняет/кэширует свою информацию в опции WordPress rewrite_rules (также находящейся в таблице wp_options).

РЕДАКТИРОВАТЬ:

Кроме того, при редактировании страницы/записи вы можете изменить "постоянную ссылку" для этой страницы/записи (прямо под полем изменения заголовка). Все, что это делает - просто устанавливает поле post_name для этой страницы/записи в таблице wp_posts (то есть изменяет "слаг" для этой страницы).

Для всех страниц, похоже, что правила перезаписи по умолчанию следующие:

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

Этот список был получен мной при запуске следующего PHP-кода: echo nl2br('rules = '.print_r( $wp_rewrite->rules, true) . "\n");

Похоже, что нет встроенного способа редактировать маршрутизацию для страниц, поскольку структура постоянных ссылок применяется только к записям.

РЕДАКТИРОВАТЬ:

Еще немного случайной информации, которую я обнаружил: если ваш permalink_structure является пустой строкой (что является "значением по умолчанию", которое вы можете выбрать), то WordPress полностью пропускает всю перезапись — я не совсем уверен, почему это так, но это факт.

16 июл. 2012 г. 05:24:12
0
13

Фактическая информация - например, 'слаг' (человекопонятный URL) для страницы или записи хранится в таблице wp_posts в колонке post_name. Обычно это "слагифицированная" версия post_title, но может быть переопределена для каждой страницы индивидуально.

Полный постоянный URL (permalink) формируется на основе настроек, выбранных в разделе Настройки → Постоянные ссылки, но сам слаг хранится именно в post_name таблицы wp_posts.

27 июн. 2015 г. 15:13:30
0

Информация о постоянных ссылках хранится в таблице wp_options.

Имя таблицы: $wpdb->prefix'options'

Необходимо выполнить поиск по названию опции 'permalink_structure' в таблице опций.

В соответствующей строке таблицы можно просмотреть структуру постоянных ссылок.

16 июл. 2012 г. 09:16:04