将 php 短代码放入 echo 函数中

Putting a php shortcode in an echo function

我正在尝试弄清楚如何将 PHP 函数放入 echo 语句或替代语句中,如下所示。

 <?php
if ( have_posts() ) :
    $i = 0;
    $featuredPostNumber = 4; 
    while ( have_posts() ) : the_post();
        $i++;
        if($i==$featuredPostNumber){
            echo '<a href="#"><div class="post-tweet"><h3><?php echo do_shortcode('[get_tweet_timeline username="crearegroup" number="3" showlinks="true" newwindow="true" nofollow="true" avatar="true"]'); ?></h3></div></a>' ;   
        }

        else{
            get_template_part( 'content', get_post_format() );
        }
        endwhile;

    endif;
    ?>

只需连接值:

echo 'Some part of a string' .
    do_shortcode(//function call
        '[get_tweet_timeline username="crearegroup" number="3" showlinks="true" newwindow="true" nofollow="true" avatar="true"]'
    ) . '</h3></div></a>' ; //rest of the string

cf the manual, look for the "concatenation operator",很简单

echo 是一种语言结构,因此使用起来效率更高,但在某些情况下,您可能希望使用 printf(以及其他函数,例如 sprintfvsprintf):

printf(
    'Some part of a string %s Rest of the string',
    do_shortcode(
        '[get_tweet_timeline username="crearegroup" number="3" showlinks="true" newwindow="true" nofollow="true" avatar="true"]'
    )
);

与所有繁琐的字符串连接相比,这使您的代码看起来更漂亮。

另一种选择是混合标记和 php:

<a><div><h3><?php echo do_shortcode('[get_tweet_timeline username="crearegroup" number="3" showlinks="true" newwindow="true" nofollow="true" avatar="true"]'); ?> </h3></div></a>

同样有效