这可能是一个非常愚蠢的问题,但我正在为此失去理智。。基本上,我有以下代码行“
\'Default\' => \'<img src="\' . THEMEROOT . \'/admin/images/default.png" width="120" height="80" alt="<?php _e( \'Default\', \'my_theme\' ); ?>"/>\',
我遇到的问题是alt文本的打印方式如下:
<?php _e( \'Default\', \'my_theme\' ); ?>
而不仅仅是“默认”单词。。这是双引号和单引号之间的冲突,但我不知道如何解决它。我做错了什么?(请温柔一点,我在这些方面是新手:))
最合适的回答,由SO网友:birgire 整理而成
有时候更容易相处sprintf()
:
\'Default\' => sprintf(
\'<img src="%s/admin/images/default.png"
width="120"
height="80"
alt="%s"
/>\',
get_template_directory(),
esc_attr__( \'Default\', \'my_theme\' )
);
我们使用
esc_attr__()
返回可安全用于属性的转换值,但我不确定
THEMEROOT
包含,所以我将其替换为
get_template_directory()
.