无法使用printf显示图像

时间:2013-10-22 20:35:08

标签: php html css wordpress printf

我有以下片段用于调用帖子作者,时间和类别

<?php
    printf( __( '<span>%s</span> by %s in %s', 'xxxx' ),
        get_the_time( 'M j' ),
        et_get_the_author_posts_link(),
        get_the_category_list( ', ' )
    );

&GT;

我想替换&#34; by&#34; (在作者面前)和&#34;在&#34; (带有图像的类别)

我试过这个:

'<span>%s</span> <img src="by.png"> %s <img src="in.png"> %s', 'xxxx'

和此:

$img = '<img src="/images/myimage.png" alt="Some Image" />';
printf( __( '<span>%s</span> %s %s in %s', 'xxxx' ),
    get_the_time( 'M j' )
    $img,
    et_get_the_author_posts_link(),
    get_the_category_list( ', ' )
);

这个在作者面前打印出图像的alt,但不是图像。

对此的任何帮助都将非常感激。感谢

1 个答案:

答案 0 :(得分:0)

printf按照您指定的顺序填充参数。如果您希望<img>显示在<span>内,那么您必须先在参数中列出图像:

printf('format string here', $img, get_the_time('M j'), etc...
                             ^^^^^^^^^^^^^^^^^^^^^^^^^--- swap these two

e.g。

printf('%s %s %s', $arg1, $arg2, $arg3);
        ^------------^
            ^---------------^
               ^-------------------^ 

如果你搞乱参数顺序,例如$arg3, $arg2, $arg1,然后它们将按此顺序打印......