Escaping double quotes in php echo

Hello i am making a site on wordpress where some of the featured images have to be thumbnails of youtube video for that i am using the module Video Thumbnails however i cant seem to get it to work correctly. Using the following code

<?php 
    if( ( $video_thumbnail = get_video_thumbnail() ) != null ) { 
        echo "<a href=\"<?php echo get_permalink( $id ); ?>\"><img src='" . $video_thumbnail . "' /></a>"; 
    }
?>

i get the image of the youtube video if there is one however the link to the post is broken it shows like this <a href="<?php echo get_permalink( 15544 ); ?>"><img src="http://www.test.com/wp-content/uploads/2014/03/15544.jpg"></a> \">"; } ?> insdead of the of the link of the actual post which is http://www.test.com/?p=15544 i realize that the problem is probably in the escaping however i tried multiple escaping metods like \" or using ' for the echo and " for the actual string hoever i can seem to get it to work i know that my php sucks so i might not be escaping it right i would be gratefull for any advice.

Upvotes: 0

Views: 649

Answers (4)

birgire
birgire

Reputation: 11378

You can make your code more readable and manageable with for example printf():

if( ( $video_thumbnail = get_video_thumbnail() ) != null )
{ 
    printf( '<a href="%s"><img src="%s"/></a>', 
            get_permalink( $id ), 
            $video_thumbnail 
    ); 
} 

and it's a good rule to escape the input values.

Check for example out the useful esc_* WordPress functions in the Codex.

Upvotes: 1

Enn
Enn

Reputation: 2209

Try using:

<?php 
    if( ( $video_thumbnail = get_video_thumbnail() ) != null ) { 
        echo '<a href="'. echo get_permalink( $id ); .'"><img src='" . $video_thumbnail . "' /></a>"; 
    } 
?>

Upvotes: 0

Durgesh Chaudhary
Durgesh Chaudhary

Reputation: 1077

It should be like below

<?php 
    if( ( $video_thumbnail = get_video_thumbnail() ) != null ) { 
        echo "<a href=\"".get_permalink( $id )."\"><img src='" . $video_thumbnail . "' /></a>"; 
    } 
?>

Upvotes: 0

H&#252;seyin BABAL
H&#252;seyin BABAL

Reputation: 15550

Use this;

<?php 
    if( ( $video_thumbnail = get_video_thumbnail() ) != null ) { 
        echo "<a href=\"" . get_permalink( $id ) . "\"><img src='" . $video_thumbnail . "' /></a>"; 
    } 
?>

Upvotes: 2

Related Questions