permalinks – ¿Dónde se almacena la información del enlace permanente en la base de datos?

Pregunta:

Veo que puedo editar la información del enlace permanente en la página wp-admin> configuración> enlaces permanentes. Sin embargo, ¿dónde está realmente almacenada esa información en la base de datos?

Respuesta:

En la tabla wp_options hay un registro donde option_name = "permalink_structure" .

Sin embargo, el verdadero y último control de la reescritura de URL está controlado por la API WP_Rewrite, que guarda / almacena en caché su información en la opción de wordpress rewrite_rules (que también se encuentra en la tabla wp_options ).

EDITAR:

Además, al editar una página / publicación, puede cambiar el "enlace permanente" de esa página / publicación (justo debajo de donde cambia el título). Todo lo que está haciendo es simplemente configurar el campo post_name para la entrada de esa página / publicación en la tabla wp_posts (también conocido como cambiar el "slug" para esa página).

Para todas las páginas, parece que las reglas de reescritura predeterminadas son las siguientes:

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

Esa lista la obtuve ejecutando este código php: echo nl2br('rules = '.print_r( $wp_rewrite->rules, true) . "\n");

No parece haber ninguna forma incorporada de editar el enrutamiento de las páginas, ya que la estructura de enlace permanente solo se aplica a las publicaciones.

EDITAR:

Más información aleatoria que estoy descubriendo: si su estructura de enlace permanente es una cadena vacía (que es la opción "predeterminada" que puede elegir), entonces wordpress omite por completo la reescritura; realmente no estoy seguro de por qué ese es el caso, pero es .

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım