无法使用 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( ', ' )
    );

?>

我想用图像替换"by"(作者之前)和"in"(befor categories)

我试过这个:

'<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,而不是图像。

对此的任何帮助将不胜感激。谢谢

printf按照

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

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

例如

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

如果您弄乱了参数顺序,例如 $arg3, $arg2, $arg1,然后它们将按该顺序打印...

最新更新