Como retornar linhas múltiplas em um código curto?

Encontrei este exemplo de um shortcode na Internet:

function project_shortcode( $atts, $content = null ) { extract( shortcode_atts( array( 'class' => '', 'id' => '', ), $atts ) ); return '
' . $content . '
'; } add_shortcode('button', 'project_shortcode');

Esta é a saída que eu quero:

 
<img src="https://wordpress.stackexchange.com//questions/37538/how-to-return-multiples-lines-in-a-shortcode//images/studyatbest.png">

BEST LANGUAGE CENTER

BEST Language Center is an educational establishment in Taichung, Taiwan. I was asked to build and design a website they could use to offer classs, programs and display photos online.

Mas não tenho certeza de como fazê-lo para que eu possa retornar múltiplas linhas no shortcode (para manter o código limpo). Alguma sugestão?

Solutions Collecting From Web of "Como retornar linhas múltiplas em um código curto?"

Não use buffer de saída. É muito lento e às vezes difícil de depurar. Use o heredoc .

Exemplo:

 $output = < <$foo 

Some $bar

MYUNIQUENAME;

Consegui:

 // Project shortcode function project_shortcode( $atts, $content = null ) { extract( shortcode_atts( array( 'client' => '', 'screenshot' => '', 'role' => '', 'year' => '', 'website' => '', ), $atts ) ); ob_start(); ?> 

< ?php echo $client ?>

< ?php echo $content ?>

< ?php return ob_get_clean(); } add_shortcode('project', 'project_shortcode');

(Diga-me se há alguma má prática nesse código).