I have recently set up wordpress on my wamp server and when loading up the webpage through localhost it will always fully load up the entire page but when i try to access the we
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.
The localhost needs a dedicated address either IP or fake domain.
WordPress needs to be configured with that address
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.
You have to configure the general option form inside the administration page from your wordpress admin access and replace the localhost urls with the correct information.
For instance, replace localhost
with http://my-site.my-domain
. In case of no domain a local hostname is used inside page's code, that why you can't access from other computers. Consequently the configuration of admin page is mandatory for the web site urls after the 5min installation wordpress.
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>
Sounds to me like your theme's got some incorrect paths for assets like images/stylesheets.
That would cause the sort of problem you're having, I think. You should post the sections of your code (in your theme) that you're using to load things like images/CSS.