WordPress: Como trabajar con nuestro dominio y localhost sin tocar la base de datos

Os voy a explicar como mantengo el código de mi blog sincronizado entre el servidor “online”, y mi instalación en localhost, el problema es que WordPress tiene asignado un dominio principal que se guarda en la base de datos en la tabla de configuraciones, con los parámetros “siteurl” y “home”, si entras desde localhost y tienes configurado tu dominio, cualquier enlace te va a redirigir al dominio configurado en WordPress, por lo que para trabajar en local hay que cambiar esas variables y volver a restaurarlas antes de subirlo de nuevo.

El otro problema es que en wp-config solo se puede configurar una base de datos, por lo que de nuevo hay que estar cambiando estos valores constantemente, la solución es sencilla para ambos casos, en wp-config podemos usar este código:

La IP del if es por que “localhost” se traduce en 127.0.0.1 en IPv4 y en ::1 en IPv6. Luego en functions.php de nuestro template colocar esta función:

Por supuesto, si no queremos tener la base de datos sincronizada esto ultimo no es necesario, ni los valores “SITEURL” y “HOME” en wp-config, ya que en la base de datos local podemos tener un dominio y en la del servidor otro distinto.

  • JL Texidor

    Hola, mirá, yo no tengo el worpdress en mi pc, sino está en otra pc en red, con una ip dentro del rango local.
    Funciona igual? q tendría q modificar?

    • josmantek

      Hola JL, si funciona igual, no tienes que modificar nada en WordPress, simplemente tienes que poner la IP local a la que quieres acceder en el navegador. Si por ejemplo tu equipo con WordPress tiene la IP local 192.168.1.10, en el otro equipo entras en http://192.168.1.10, esto debería abrir el servidor que tengas instalado, por ejemplo Apache.

      Si eso no te funciona es por que no tienes el servidor en modo “Online”, esto ya depende de que servidor estés usando, suponiendo que tengas WAMP, pulsa sobre el icono de Wamp y “Put Online”.

      • JL Texidor

        El tema es q cuando entro a la IP local, me manda a la IP pública.
        Necesito trabajar localmente sin que me mande a la ip pública.

        • josmantek

          Vale, entonces lo mejor es que modifiques la base de datos local de tu WordPress, en la tabla *_options busca donde “option_name” sea “siteurl” y “home”, modifica el campo “option_value” para poner la IP local de tu equipo con el servidor web, si por ejemplo tienes “http://localhost/wordpress” cámbialo por “http://192.168.1.XXX/wordpress”

          • JL Texidor

            Si, el problema es que haciendo eso, de afuera no van a poder ver los enlaces, porq los manda a la IP local. Jaja, que lío no?

          • josmantek

            Claro desde fuera no puede verse, para eso tendrías que poner tu IP publica, te dije la local por que decías de acceder desde otro equipo de tu red.

            Si luego quieres subir la web a un servidor con dominio, vuelves a cambiar los mismos parámetros de antes de la base de datos, esta vez para cambiar la IP por tu dominio.

          • JL Texidor

            Ah vale, creí q se podía trabajar localmente y q salga directo afuera.

            Tengo otra duda, quizás me podés ayudar, te escribo por acá o tenés algún chat para hacer un poquito más ágil el tema?

          • josmantek

            Puedes contactar conmigo por correo o Hangout, jmalarcon@josmantek.com