Jump to content

Echo Within Echo


RyanPym

Recommended Posts

Hi,

I am new to the forum, and am hoping you can help, I know a little about PHP, but not enough to solve an issue I have with a wordpress site I am currently working on. I am currently working with a plugin that shows posts by a specific user.

At present, you can put the plugin into the theme pages by using <?php echo do_shortcode('[latestbyauthor author=username" show="3]'); ?> This requires you to manually input the authors username.

I am trying to automate this, setting the user name based on the users profile you are viewing - here is the user profile page for reference:http://www.copymusic.co.uk/COPYmusicscout2/

Now I am familiar with how to pull the relevant users name, as I have used the following code to correctly display the "view uploads by xxxxx" link. I have been using the following: <?php echo $user->screenname; ?>.

I therefore tried using <?php echo do_shortcode('[latestbyauthor author=<?php echo $user->screenname; ?>" show="3]'); ?> which didn't work.

I read something online which suggested the 2nd echo wasn't required so I tried <?php echo do_shortcode('[latestbyauthor author= $user->screenname" show="3]'); ?> which again didn't work.

I am therefore a little stuck . . At the moment it is just displaying the last few posts onto the site, I have tried manually inputting the relevant user name and it does work, but obviously shows the same posts regardless of user profile!

I am pretty familiar with some PHP so can take simple instructions, unfortunately I am a bit stuck at this time!

Any suggestions will be greatly appreciated, if you need any more detail, please let me know!

Many thanks

Ryan

Link to comment
https://forums.phpfreaks.com/topic/271752-echo-within-echo/
Share on other sites

You're close. Check out the manual page for strings; http://php.net/manual/en/language.types.string.php

 

Since you're using double quotes you can either enclose the variable with curly brackets, or you can concatenate.

 

<?php echo do_shortcode('[latestbyauthor author=" ($user->screenname)" show="3"]'); ?>

 

<?php echo do_shortcode('[latestbyauthor author=" " . $user->screenname . "" show="3"]'); ?>

 

EDIT: Oops, I guess you are actually using single quotes. So you'd have to concatenate then:

 

<?php echo do_shortcode('[latestbyauthor author=" ' . $user->screenname . '" show="3"]'); ?>

Link to comment
https://forums.phpfreaks.com/topic/271752-echo-within-echo/#findComment-1398238
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.