Support » Fixing WordPress » Put a function inside an echo?

  • Resolved Damien


    Is it possible to have the title display inside an echo statement, I’m not sure I’m doing this correctly or if it’s possible at all.
    This is all I have found on the forums here;

    I’d like the image alt to to be the title if possible.

    Would it be something like?

    $spost = single_post_title();
    echo "<img src='/wp-content/themes/default/timthumb.php?src=" . $image . "&w=600&zc=0' alt='$spost' />";
Viewing 11 replies - 1 through 11 (of 11 total)
  • That looks right. Does it not work or did you get some kind of error?

    That looks about right, but apparently it is good practice to only use single quotation marks in echo statements.

    so maybe do something like …

    echo '<img src="/wp-content/themes/default/timthumb.php?src=' . $image . '&w=600&zc=0" alt=" . $spost . " />';

    Good practice? According to who? I’m curious….

    Single or double quotes both have different uses, there’s no best practice..

    Consistency, now that is important (imo), if you’re writing code, there’s nothing worse then reading unformatted code or inconsistent differing approaches to similar pieces of code..

    A good practice is to code in a way that allows you (or someone else) to open that file, read the comments (and/or) code and be able to immediately know what the file does, how it does it without having to re-examine half the file.

    For the most part, there is alot of preferential coding. Authors or coders will naturally encourage the approaches (“they”) prefer.. heck i do it, so why wouldn’t anyone else..

    Good practice? According to who? I’m curious….

    I’ve seen this argument. It goes something like (not that I’m advocating it): PHP scans double quotes for variables and so double quotes are slower than single quotes. echo can take multiple parameters separated by commas so there is really no need for embedding variables in double quoted strings. Plus, echoing using multiple variables rather than building a string and echoing it all at once avoids the overhead of building and storing the string and so has performance advantages too. Taken together, single quotes are better.

    Me? I use single quotes with echo because often I’m echoing html and I like my html attributes wrapped in double quotes. This way I don’t have to escape them.

    according to many people. In particular when echoing html, as single quotes will parse the echo string exactly as it is, using less resources than double quotes, which always check for, and parse variables inside the quotes.

    So if you don’t have to parse many variables in your echo, you’re better off using singles. Whereas if you are parsing many variables, you may as well use doubles.

    make sense?

    apljdi – was writing my explanation as you posted yours. I think you’ve worded yours better.

    t31os_ – hope that clears it up pal

    apljdi – was writing my explanation as you posted yours.

    LOL. That happens to me a lot. No problem.

    wouldn’t this be clearer (just from the logic view of consistency and independant of double or single quotes)?
    echo "<img src='/wp-content/themes/default/timthumb.php?src=" . $image . "&w=600&zc=0' alt='" . $spost . "' />";

    If you’re using variables in the string, perhaps yes…

    Rather then doing..

    echo "Hello my name is \n $name";

    I’d tend to do..

    echo "Hello my name is \n" . $name

    The newline \n was just an example of why i may choose to use double quotes..

    How would you do a newline in single quote form?

    echo 'some string' . "\n";


    echo 'some string

    I think ultimately it comes down to what you’re using them for…

    For variables, yes i’ll agree it’s slower.. but there certainly are valid uses for double quotes to, so i’d not rule out using them..

    There’s no reason variables need to be in double quotes, and i’d go so far as to say the main reason people use variables inside double quotes is due to simplicity… If they were smart coders, they’d concatenate their strings (as you’d do with single quotes – EDIT > and as alchymyth has shown in the example above) instead of doing everything inside 1 set of quotes…

    The newline \n was just an example of why i may choose to use double quotes.

    Yep. I’ll do that too.

    Basically what alchymyth posted is what I do, with single and double quotes reversed because “I like my html attributes wrapped in double quotes”– not really an objective reason. Readabilty more or less pushed me that way. In alchymyth’s example you could use commas instead of periods, which is supposed to be quicker. However, if you ever want to change the string from an echoed string to a variable that gets echoed later, the commas have to be converted which is a minor pain.

    No luck still with the echo so I cheated a bit to get what I wanted for the alt tag. It’s part of a crazy ass image loop I’m trying for something different 🙂

    echo '<img src="t2.php?src=' . $img_single[1] . '&w=300&zc=0&q=90" alt="';
    $something = the_title();
    echo '" />';

    I learned a bit too from reading all this thread 🙂
    Thanks all.

Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘Put a function inside an echo?’ is closed to new replies.