回声在PHP代码中

I have a wordpress site and I get an error in the following code.

<a href="http://www.example.com/<?php $url = get_post_meta($post->ID, 'Monthly Fee', true); if ($url) { echo "rent2?domain=<?php the_title(); ?>&monthlyfee=$url";} else echo "rent?domain=<?php the_title(); ?>&monthlyfee=$url";?>">

the following command does not work in echo command. the result is text only.

<?php the_title(); ?>

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; ?>">

hon2a Already gave the answer in the comment. Your code is malformed. Because the part

echo "...<?php the_title(); ?>..."

is placed in a string, the_title is not interpreted as a function.