Wordpress will only fully load on localhost Wordpress will only fully load on localhost wordpress wordpress

Wordpress will only fully load on localhost


I saw a question very similar to this one but for Mediawiki today. You probably have configured Wordpress with 127.0.0.1 or localhost as your IP address, instead of your actual IP address.

You have to make changes in your wp_options table, you need to change two entries:option id 1 - siteurl - change http://localhost/ to http://<your local ip>;option id 36 - home - change http://localhost/ to http://<your local ip>


The main issue is because WordPress uses the server addresses from the database. WordPress uses the root urls from the database options named home and siteurl, so if you try access WordPress outside that computer it may get the incorrect path for CSS and JavaScript.

If you want to get the correct path without doing a redirect, you can define a dynamic root url in wp-config.php

add this script below the define('ABSPATH', dirname(__FILE__) . '/');

/** * get home url from absolute path * @return string url to main site * hello@lafif.me */function get_dynamic_home_url(){    $base_dir  = ABSPATH; // Absolute path    $doc_root  = preg_replace("!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']);    $base_url  = preg_replace("!^${doc_root}!", '', $base_dir);    $protocol  = empty($_SERVER['HTTPS']) ? 'http' : 'https';    $port      = $_SERVER['SERVER_PORT'];    $disp_port = ($protocol == 'http' && $port == 80 || $protocol == 'https' && $port == 443) ? '' : ":$port";    $domain    = $_SERVER['HTTP_HOST'];    $home_url  = "${protocol}://${domain}${disp_port}${base_url}";    return $home_url;}$url = get_dynamic_home_url();define('WP_SITEURL', $url);define('WP_HOME', $url);

I think that would work with http://localhost/, http://localhost/wp/, http://127.0.0.1/, or http://yoursite.dev/


The way to make a localhost install work on other computers on the network you need to do a couple things.

  1. The localhost needs a dedicated address either IP or fake domain.

  2. WordPress needs to be configured with that address

  3. the other machines need to be told where that address is, usually in the hosts configuration file like

192.168.30.1 wp.dev

where the above is an network IP assigned to your localhost with WAMP and wp.dev is the fake dev domain. This pretty much needs to be set on all machines so they know where the host lives.