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

时间:2017-10-12 16:49:09

标签: php html wordpress

我正在使用WordPress网站,我已将以下代码插入header.php文件,以便动态调用自定义徽标:

<?php
if ( function_exists( 'has_custom_logo' ) ) {
    has_custom_logo();
} 
?>

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

<?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>'; 
        }
?>

此替代代码也称为自定义徽标,并允许我通过wp_get_attachment_image_src()参数更改自定义徽标维度。

缺点是它剥离了img属性的HTML Alt输出。

有没有办法动态调用Alt属性?我假设我需要将它附加到echo '<img src="'. esc_url( $logo[0] ) .'">';条目。

最新代码:

<?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>'; 
    }               
?>

2 个答案:

答案 0 :(得分:0)

根据get_custom_logo()的参考,您可以通过get_post_meta()获取徽标图片alt数据。

$attr

wp_get_attachment_image()功能接受wp_get_attachment_image( int $attachment_id, string|array $size = 'thumbnail', bool $icon = false, string|array $attr = '' ) parameter

<form:form name="mitarbeiterForm" modelAttribute="mitarbeiter" method='POST' action="${pageContext.request.contextPath}/saveMitarbeiter" >

...
</form:form>
  

$ ATTR   (string | array)(可选)图像标记的属性。   默认值:&#39;&#39;

答案 1 :(得分:-2)

在php中创建一个子文件夹,将图片放入文件夹,之后只需拖放链接即可。