In wordpress, it calls header.php then whatever template name or the page requested. How can I declare a variable in my php header which I can then refer to in my other templates?
So, a global variable can be declared just like other variable but it must be declared outside of function definition. Syntax: $variable_name = data; Below programs illustrate how to declare global variable.
The best way to share global variables across modules across a single program is to create a config module. Just import the config module in all modules of your application; the module then becomes available as a global name.
$GLOBALS is a PHP super global variable which is used to access global variables from anywhere in the PHP script (also from within functions or methods). PHP stores all global variables in an array called $GLOBALS[index].
You can declare it like so (In functions.php):
global $domain; $domain = 'http://www.mydomain.com/';
You can echo the domain of the WordPress site like this, though..
<?php bloginfo('site_url');?>
Or
$url = site_url(); echo $url;
Or as a function, in functions.php
function displayMyDomain() { global $domain; // you probably don't actually need to set it global as it is a function $domain = 'http://www.domain.com/'; echo $domain; }
Then anywhere, use <?php displayMyDomain(); ?>
The answer pretty much depends what you need it for. If you are developing a theme and want to keep values constant through all files you can place them in functions.php
in the theme directory, which is always loaded. Variables defined there should be available everywhere in the theme. This works if you distribute the theme.
If you want to modify an existing theme for your needs on your own installation, you can either put them in wp-config.php
, as suggested, or (a cleaner method) you can create a child theme of the theme you want to change. This will keep it separate from the wordpress core and will prevent theme updates from overwriting your changes.
I just tried it using functions.php
:
functions.php:
$variable = "value";
header.php:
global $variable; echo $variable;
works for me.
You can define them in wp-config.php
file.
The config file is never updated so your Wordpress installation will have those variables over time even if you update it.
<?php
require_once('wp-config.php');
echo $domain;
?>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With