与单引号和双引号冲突

时间:2016-01-02 作者:Madeirense

这可能是一个非常愚蠢的问题,但我正在为此失去理智。。基本上,我有以下代码行“

        \'Default\'  => \'<img src="\' . THEMEROOT . \'/admin/images/default.png" width="120" height="80" alt="<?php _e( \'Default\', \'my_theme\' ); ?>"/>\',
我遇到的问题是alt文本的打印方式如下:

<?php _e( \'Default\', \'my_theme\' ); ?>
而不仅仅是“默认”单词。。这是双引号和单引号之间的冲突,但我不知道如何解决它。我做错了什么?(请温柔一点,我在这些方面是新手:))

2 个回复
最合适的回答,由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().

SO网友:Ján Bočínec

你完全错了,你的问题不仅仅是引用。应该是这样的:

\'Default\'  => \'<img src="\' . THEMEROOT . \'/admin/images/default.png" width="120" height="80" alt="\' . __( \'Default\', \'my_theme\' ) . \'"/>\',
功能文档__( $text, $domain ) https://codex.wordpress.org/Function_Reference/_2

供参考:

相关推荐

ALT attribute in menu images

我的WP主题中缺少一些属性。我在标题中找到了图像。示例中的php:class=\"articles\"><img src=\"<?php echo get_template_directory_uri(); ?>/images/topmenu/ikona_artykuly.png\" /> ikona_artykuly.png 缺少属性。我可以在此处添加alt属性吗?class=\"articles\"><img src=\"<?php echo g