将php短代码放入echo函数中

时间:2015-01-26 16:00:41

标签: php html wordpress

我正在试图弄清楚如何将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;
    ?>

1 个答案:

答案 0 :(得分:2)

只需连接值:

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(以及sprintf或{{1}等其他功能}):

vsprintf

这使您能够使代码看起来比那些乏味的连接更好。

另一个替代方案是混合使用标记和php:

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"]'
    )
);

哪个同样有效