Reputation: 3853
This is fairly simple but I cant work it out.
I'm building a wordpress site, and I want a redirect on my 404 page using PHP instead of javascript.
<?php header("Location: www.myblogurl.com"); ?>
And I use this in my wordrpess websites to get the URL of my blog...
<?php bloginfo('url'); ?>
But I can't seem to merge the two PHP scripts together, please see my poor attempt below.
<?php
$location = bloginfo('url');
header( 'Location:' + $location ) ;
?>
This seems to echo my website URL instead of redirecting.
Can any help me please, thanks.
Upvotes: 4
Views: 18129
Reputation: 2817
try to use get_bloginfo() instead of bloginfo() and replace the + with .
Upvotes: 1
Reputation: 1982
Well first correct + with .
String concatenation works in php with .
<?php
$location = bloginfo('url');
header( 'Location: ' . $location ) ;
?>
Upvotes: 1
Reputation: 5476
Use a dot (.)
not a plus (+)
.
header( 'Location:' . $location ) ;
Upvotes: 0
Reputation: 18218
<?php
$location = bloginfo('url');
header( 'Location:'.$location ) ;
?>
This should be your syntax.
Upvotes: 0
Reputation: 41934
bloginfo
in wordpress echo's the information instead of returning it. You should use get_bloginfo
.
The docs says:
This always prints a result to the browser. If you need the values for use in PHP, use
get_bloginfo()
.
A sample would be:
<?php
header('Location: ' . get_bloginfo('url'));
?>
You are using the +
to concatenate 2 strings. This is wrong in PHP the +
is a math operator for things like $result = 1 + 1
. You need to use the .
operator: $text = 'hello' . 'world'
.
Upvotes: 9
Reputation: 6003
Use this:
<?php
$location = bloginfo('url');
header( 'Location:' . $location ) ;
?>
You were using Javascript syntax for concatenation in PHP
Upvotes: 0