我正在自定义帖子类型中显示帖子库,在我的单个自定义中使用以下内容。php模板:
<?php echo do_shortcode(\'[gallery id="\'.$post->ID.\'" link="file" columns="5" orderby="menu_order"]\'); ?>
输出中包含的内容之一是
title="filename"
在
<img>
标记,如下所示:
<img width="150" height="150" src="http://mydomain.com/wp-content/uploads/DSC_0036-150x150.jpg" class="attachment-thumbnail" alt="DSC_0036" title="DSC_0036" />
我不想输出title属性。大多数情况下,我不希望在悬停文本中出现糟糕的文件名,但有数百幅图像,我不准备进入媒体库编辑每幅图像的标题。我更愿意更改
alt
可能是帖子名的属性。
有没有办法过滤库以在alt和title属性中输出帖子名称,而不是文件名?
最合适的回答,由SO网友:Jan Fabry 整理而成
这个[gallery]
短代码由解析gallery_shortcode()
, 哪个呼叫wp_get_attachment_link()
, 依次调用wp_get_attachment_image()
. 后一个函数写入<img>
贴上标签title
属性你很幸运,因为属性已被过滤wp_get_attachment_image_attributes
, 这样你就可以钩住它title
.
要做到这一点,您需要在调用短代码之前附加挂钩,然后在调用后将其删除。如果是一次性的,您可以在模板中执行此操作,或者,如果您更高级,您可以“劫持”[gallery]
使用您自己的函数添加挂钩、调用原始gallery_shortcode()
函数,并移除挂钩。