我正在构建没有插件的自定义WordPress主题。每个页面的标题图像可能不同, 因此我使用仪表板分配图像并在主题代码中调用”
get_header_image()”
函数。标头图像可以正确显示, 但替代文本则不能。
我写了以下代码:
function alt_text_display() {
$header_id = get_header_image(get_the_ID());
$alt = get_post_meta($header_id, 'wp_get_attachment_image_alt', true);
echo $alt;
}add_action( 'wp_enqueue_scripts', 'alt_text_display' );
它不起作用, 可能是因为get_header_iamge()不接受参数, 对吗?
我的HTML看起来像这样:
<
div class="hero_container">
<
img src="http://www.srcmini.com/<
?php echo( get_header_image() );
?>" class="hero">
<
/div>
我将图片的替代文本上传到媒体库时设置。该文本未显示。而是显示该网站的标题。如何显示在媒体库中设置的替代文本?
#1【如何在自定义WordPress主题中生成标题图像替代文本()】好像你忘记了在html中添加” alt” 属性并在其中调用函数。
<
div class="hero_container">
<
img src="http://www.srcmini.com/<
?php echo( get_header_image() );
?>" alt="<
?php display_alt_text();
?>
" class="hero">
<
/div>
或者你可以在html中使用wp_get_attachment_image输出图像:
<
?php echo wp_get_attachment_image( get_the_ID(), array('700', '600'), "", array( "alt" =>
"My image alt text here" ) );
?>
#2我想到了。这是我的自定义功能
function alt_text_display() {$data =http://www.srcmini.com/get_object_vars(get_theme_mod('header_image_data'));
$image_id = is_array($data) &
&
isset($data['attachment_id'])
? $data['attachment_id'] : false;
if ($image_id) {$image_alt = get_post_meta( $image_id, '_wp_attachment_image_alt', true);
return image_alt;
}}add_action( 'wp_enqueue_scripts', 'alt_text_display' );
这是我的HTML:
<
div class="hero_container">
<
img src="http://www.srcmini.com/<
?php echo( get_header_image() );
?>" alt="<
?php echo( alt_text_display() );
?>
"class="hero">
<
/div>
推荐阅读
- 如何在WordPress中使用h2标签获取所有内容( [重复])
- 如何在WordPress博客中格式化代码语法()
- 如何修复断页的WordPress模板错误
- 如何解决WordPress的嵌套子类别存档页面的URL问题
- 如何修复我在php 7更新wordpress时出现的问题
- 如何修复页面响应()
- 如何修正WordPress主题中index.php默认的id=error-page
- LFS 系列从零开始 DIY Linux 系统(构建临时系统 - Binutils-2.25)
- 8.常见的权限表示形式