Hola @vipuljadvani,
Para implementar URL relativas en todo su sitio de WordPress sin modificar involuntariamente el campo GUID, necesitará un enfoque específico. El GUID
El campo siempre debe seguir siendo una URL absoluta porque está destinado a servir como un identificador único para las publicaciones. Así es como puedes ajustar tu configuración:
1. Ajustar el post_type_link
Filtrar
El post_type_link
El filtro se puede utilizar para hacer relativo el enlace permanente para tipos de publicaciones personalizadas, pero este filtro no afecta directamente al campo GUID a menos que otra parte de su código lo anule. Asegúrese de que su función de filtro sea específica para los enlaces permanentes.
Aquí hay una implementación mejorada del post_type_link
filtrar:
add_filter('post_type_link', 'convert_custom_post_type_links_to_relative', 10, 2);function convert_custom_post_type_links_to_relative($permalink, $post) {
// Ensure the $permalink is an absolute URL and belongs to your site.
if (strpos($permalink, home_url()) !== false) {
$permalink = wp_make_link_relative($permalink);
}
return $permalink;
}
2. Asegúrese de que el GUID no esté modificado
Verifique que ningún otro filtro esté modificando el GUID. Una función típica que modifica GUID podría verse así:
add_filter('get_post_metadata', function($value, $object_id, $meta_key) {
if ($meta_key === '_guid') {
return null; // Ensure this returns null to avoid modifications to the GUID.
}
return $value;
}, 10, 3);
3. Utilice el wp_make_link_relative
Función
WordPress incluye el wp_make_link_relative
función, que convierte de forma segura URL absolutas en relativas. Utilice esta función dondequiera que esté generando enlaces (por ejemplo, en plantillas, widgets, etc.) para garantizar la coherencia.
4. Evite modificaciones de la base de datos
En lugar de modificar la base de datos directamente, confíe en los filtros para ajustar dinámicamente las URL con fines de visualización. Este enfoque garantiza que el GUID y otros campos confidenciales permanezcan intactos.
Por ejemplo:
- Usar
the_permalink
filtrar para garantizar que los enlaces en publicaciones y páginas sean relativos:
add_filter('the_permalink', 'make_permalink_relative');
function make_permalink_relative($permalink) {
return wp_make_link_relative($permalink);
}
Al migrar entre entornos (por ejemplo, desarrollo, puesta en escena, producción), herramientas como WP Migrar DB Pro o DUPLICADOR puede manejar operaciones de búsqueda y reemplazo de URL en la base de datos. Estas herramientas evitan tocar campos como GUID a menos que estén configuradas explícitamente para hacerlo.
Avíseme si tiene más problemas.