Php 如何动态调用<;img>;alt属性?

Php 如何动态调用<;img>;alt属性?,php,html,wordpress,Php,Html,Wordpress,我正在一个WordPress网站上工作,在那里我将以下代码插入到header.php文件中,以便动态调用自定义徽标: 虽然这样做有效,但我在尺寸调整方面遇到了问题。因此,我将代码替换为以下代码: <?php $custom_logo_id = get_theme_mod( 'custom_logo' ); $logo = wp_get_attachment_image_src( $custom_logo_id , 'thumbnail' ); if

我正在一个WordPress网站上工作,在那里我将以下代码插入到
header.php
文件中,以便动态调用自定义徽标:


虽然这样做有效,但我在尺寸调整方面遇到了问题。因此,我将代码替换为以下代码:

<?php 
    $custom_logo_id = get_theme_mod( 'custom_logo' );
    $logo = wp_get_attachment_image_src( $custom_logo_id , 'thumbnail' ); 
        if ( has_custom_logo() ) {
            echo '<img src="'. esc_url( $logo[0] ) .'">';
        } 
        else {
            echo '<h1>'. get_bloginfo( 'name' ) .'</h1>'; 
        }
?>

在php中创建一个子文件夹将您的图像放入该文件夹,然后只需拖放链接,它就可以工作。

根据的参考,您可以通过获取徽标图像alt数据

/*
*如果logo alt属性为空,则获取站点标题并显式显示
*将其传递给wp_get_attachment_image()使用的属性。
*/
$image\u alt=get\u post\u meta($custom\u logo\u id','u wp\u attachment\u image\u alt',true);
if(空($image\u alt)){
$custom_logo_attr['alt']=get_bloginfo('name','display');
}
/*
*如果alt属性不为空,则无需显式传递
*这是因为wp_get_attachment_image()已经添加了alt属性。
*/
$html=sprintf(“”,
esc_url(home_url(“/”),
wp_获取附件_图像($custom_logo_id,'full',false,$custom_logo_attr)
);
该函数接受
$attr

$attr 图像标记的(字符串|数组)(可选)属性。 默认值:“”


不确定我是否做错了什么,但当我输入您建议的代码时,图像不再显示。嗯,您是否有任何错误?您是否仍在输出
$logo
?如果可能,请在您的原始帖子之后添加您的更新代码。我刚刚检查了源代码,除了我放置代码的空
容器外,您的建议代码没有输出任何内容。您如何回显生成的HTML(
$HTML
,在上面的示例中)?我已插入:
echo'我假设此代码存在错误?
<?php
$custom_logo_id = get_theme_mod( 'custom_logo' );    
$custom_logo_attr = get_post_meta( $custom_logo_id, '_wp_attachment_image_alt', true );


    if ( has_custom_logo() ) {
        echo wp_get_attachment_image($custom_logo_id, 'thumbnail', false, $custom_logo_attr);
    } 

    else {
        echo '<h1>'. get_bloginfo( 'name' ) .'</h1>'; 
    }               
?>
wp_get_attachment_image( int $attachment_id, string|array $size = 'thumbnail',  
                         bool $icon = false, string|array $attr = '' )