Setting home and siteurl dynamically in Wordpress

Setting home and siteurl dynamically in Wordpress

Created:10 Dec 2016 09:44:06 , in  Web development

If for some reason you have set siteurl and / or home options wrong in your WordPress installation database and as a result can't access admin panel, or perhaps have a reason not to change these options in wp_options table, you can overwrite them either in wp_config.php or functions.php file of your site easily.

Below I look how it can be achieved.

Hard-coded constants

The quickest method of overwriting the two settings is with wp-config.php. You just define two constants in it as shown below:

define('WP_SITEURL', 'http://<>/');
define('WP_HOME', 'http://<>/'); 

Once they are set, WordPress will use them bothering no more with what's in database wp_options table. It will use a pair of callbacks: _config_wp_home and _config_wp_siteurl.

They are attached to option_home and option_siteurl filters respectively with relevant code in wp-includes/default_filters.php

Multisite doesn't use this shortcut.

Custom filters

Alternatively to what was said above, you can dynamically set your home and siteurl options by attaching your own callbacks to option_home and option_site filters in functions.php of your theme. In other words you add what's not in wp-includes/default-filters.php

function my_filter_option_siteurl( $siteurl ) {
  // filter $siteurl here   
  return $siteurl; 
// add the filter 
add_filter( 'option_siteurl', 'my_filter_option_siteurl');

function my_filter_option_home( $home ) {
  // filter $home here 
  return $home; 
// add the filter 
add_filter( 'option_home', 'my_filter_option_home', 10, 1 );

The above code goes, as was said above, in functions.php, or perhaps even better, in a plugin

This post was updated on 27 Apr 2017 16:29:51

Tags:  php ,  wordpress 

Author, Copyright and citation


Sylwester Wojnowski

Author of the above article, Sylwester Wojnowski, enjoys sWWW writing computer code in PHP, JavaScript and BASH, and some other things he wrote more on on the About page of this website.


©Copyright, 2021 Sylwester Wojnowski. This article may not be reproduced or published as a whole or in parts without permission from the author. If you share it, please give author credit and do not remove embedded links.

Computer code, if present in the article, is excluded from the above and licensed under GPLv3.


Cite this article as:

Wojnowski, Sylwester. "Setting home and siteurl dynamically in Wordpress." From sWWW - Code For The Web .

Add Comment

Allowed BB Code - style tags: [b][/b], [i][/i], [code=text][/code],[code=javascript][/code],[code=php][/code],[code=bash][/code],[code=css][/code],[code=html][/code]

I constent to processing my data given through this form for purposes of a reply by the administrator of this website.

Recent Comments

Nobody has commented on this post yet. Be first!