将主题徽标元数据转换为模板文件

时间:2017-04-04 作者:brandozz

我希望从主题徽标中提取所有元数据(例如alt、width、height),这些元数据通过外观->自定义上传到我的主题模板文件中。这是我目前拥有的,但它不起作用:

$custom_logo_id = get_theme_mod(\'custom_logo\');
if ($custom_logo_id) {
    $image = wp_get_attachment_image_src($custom_logo_id, \'full\');
    $meta = wp_get_attachment_metadata($custom_logo_id);
    echo \'<img src="\' . $image[0] . \'" alt="\' . $meta[\'alt\'] . \' width="\' . $meta[\'width\'] . \'" height="\' . $meta[\'height\'] . \'">\';
} else {
    echo bloginfo(\'name\');
}

2 个回复
SO网友:brandozz

最后,“alt”没有存储在wp\\u get\\u attachment\\u元数据中,所以我从post meta中提取了它:

$custom_logo_id = get_theme_mod(\'custom_logo\');
if ($custom_logo_id) {
    $image = wp_get_attachment_image_src($custom_logo_id, \'full\');
    $meta = wp_get_attachment_metadata($custom_logo_id);
    **$alt_text = get_post_meta($custom_logo_id, \'_wp_attachment_image_alt\', true);**
    echo \'<img src="\' . $image[0] . \'" alt="\' . $alt_text . \'" width="\' . $meta[\'width\'] . \'" height="\' . $meta[\'height\'] . \'">\';
} else {
    echo bloginfo(\'name\');
}

SO网友:cjbj

正如您可以从的描述中看到的wp_get_attachment_metadata 该位置中没有存储alt字段。最简单的方法是只使用alt的title字段。

否则,可以使用get_post_meta. 更多说明here.

相关推荐

Remove <p></p> after images

我对<p></p> 出现在my之后的标记<img....>. 以下是我在本地主机上查看生成的页面时显示的内容。。。<img src=\"/wp-content/themes/wunderful/assets/images/feedback-danielle.png\" alt=\"Danielle Johnson Deal Town FC Treasurer\"> <p></p> 请注意随机生成的<p>&