This is not an answer but an advice based on 19 years of experience.
Your problem is much bigger - messy code:
Don't try to cram all your logic in one line. Make your code readable. You will thank yourself later. Use proper variable names.
<?php
$post_meta = get_post_meta($post->ID, 'Monthly Fee', true);
if ($post_meta) {
$url = "rent2?domain=" . the_title() . "&monthlyfee=$post_meta";
} else {
$url = "rent?domain=" . the_title() . "&monthlyfee=$post_meta";
}
?>
<a href="http://www.example.com/<?php echo $url; ?>">
The code above is (supposed to be) functionally identical to yours. But you can see that some things are written twice ?domain=" . the_title() . "&monthlyfee=$post_meta
and that in the else
block $post_meta
(formerly $url) is used while $post_meta
is falsy
. Is it intended? If then the only thing that is different is rent
vs rent2
. Your code can be made DRY like this:
<?php
$post_meta = get_post_meta($post->ID, 'Monthly Fee', true);
$search_string = "?domain=" . the_title() . "&monthlyfee=$post_meta";
$path = $post_meta ? "rent2" : "rent";
$url = $path . $search_string;
?>
PS. As Dre pointed out the_title()
should not do any echo
but return title string! Thank you
<a href="http://www.example.com/<?php echo $url; ?>">