WordPress redirige incorrectamente a la dirección IP local
Tengo mi servidor WordPress configurado con PHP, MySQL y Apache en mi Raspberry Pi. También tengo un nombre de host DNS dinámico y configuré el reenvío de puertos en mi router.
Al intentar acceder al servidor desde fuera de mi LAN local (por ejemplo, desde mi teléfono en red móvil 4G o en la escuela), el sitio redirige incorrectamente a la dirección IP local del servidor: 192.168.0.18, por lo que la página no carga.
Esto es muy extraño porque también tengo OwnCloud configurado en mi Pi y, en las mismas condiciones, cuando intento acceder a midnsdinamico/owncloud, no me redirige a la IP local y la página carga correctamente.
Sé que es un problema básico de configuración de WordPress pero no logro solucionarlo. ¿Alguien sabe cómo resolverlo? ¡Muchas gracias!
Cambiar la URL del sitio en la tabla de opciones.
UPDATE `wp_options` SET `option_value` = 'TU_URL_DEL_SITIO' WHERE `option_name` = 'siteurl' OR `option_name` = 'home';
También cambia las URLs estáticas en el contenido de tus publicaciones.
UPDATE `wp_posts` SET `post_content` = REPLACE(post_content, '192.168.0.18/TU_URL_LOCAL_DEL_SITIO/', 'TU_URL_DEL_SITIO/');
No olvides cambiar el prefijo de la tabla si no es 'wp_'.
Editar: Accede a PHPMyAdmin de tu servidor. Contacta a tu proveedor de hosting si no estás familiarizado con esto.
Selecciona tu base de datos de WordPress y accede a la tabla wp_options. Cambia los valores de los atributos 'siteurl' y 'home' por la URL de tu sitio web en vivo.
¡Contrata a un desarrollador si no estás seguro de lo que estás haciendo!

Lo siento, ¿podrías decirme qué archivo contiene esas configuraciones? Soy completamente novato en este campo. Intenté encontrarlas en wp-config.php, etc., pero no aparecían.

Estos ajustes también están expuestos en la página Ajustes / Generales, como Dirección de WordPress (URL) y Dirección del sitio (URL). Esta página del Codex proporciona más información. Pero no estoy seguro de que la respuesta funcione; creo que necesitas actualizar estos ajustes al nombre de host dinámico que estás usando, no a la dirección local.

@GaborBarat Estoy de acuerdo, que el enfoque dado en esta página del codex es mejor que mi solución. Pero si no se hace correctamente, cambiará las URLs del sitio y del inicio en la tabla de opciones en cada solicitud.

Inspirado en la respuesta de @jitendra-rana, la dirección era correcta, pero no completa.
- Haz un volcado (dump) de tu base de datos a un archivo.
- Abre el archivo de volcado y reemplaza todos los
http://192.168.0.18
porhttp://tu_sitio
- Ejecuta el archivo de volcado para reemplazar todos los datos en la base de datos.
- Limpia la caché (recarga dura) de tu sitio.
Beneficio.

En general, cambiar los registros WP_SITEURL y WP_HOME en la tabla wp_option no es suficiente para que todo el sitio web esté disponible. Necesitas cambiar todos los enlaces, incluyendo enlaces de imágenes, enlaces JS y CSS, etiquetas A, y en general, cualquier enlace que aparezca en el HTML.
He creado un plugin y lo he colocado en el repositorio de WordPress, que publica un sitio web creado en un servidor web local como Xampp/Wampp a la red. Al configurar tu propia IP local en los ajustes del plugin, tu WordPress se publicará en general en la red.
