0

我有以下代码段用于调用帖子作者、时间和类别

<?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”(类别之前)

我试过这个:

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

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

4

1 回答 1

0

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,那么它们将按该顺序打印...

于 2013-10-22T20:37:40.190 回答