过滤后缩略图:链接到小资源并添加数据属性

时间:2012-05-29 作者:mathiregister

我想知道如何手动链接到the_post_thumbnail() 在其筛选功能中…

add_filter( \'post_thumbnail_html\', \'post_thumbnail_html\', 10, 3 );

function post_thumbnail_html( $html, $post_id, $post_image_id ) {

    $html = \'<a href="\' . get_permalink( $post_id ) . \'" title="\' . esc_attr( get_post_field( \'post_title\', $post_id ) ) . \'">\' . \'<img class="digest" src="\' . $post_image_id . \'" alt="\' . esc_attr( get_post_field( \'post_title\', $post_id ) ) . \'" />\' . \'</a>\';

    return $html;

}
所以现在我的image src只是post\\u id(例如38)。如何链接到尽可能小的文件大小,并添加另一个链接到最大文件的数据属性?

我的输出最终应该是这样的

<img class="digest" src="small-post-thumbnail.jpg" data-fullsrc="full-post-thumbnail.jpg" alt="something" />
提前感谢您!

编辑/更新:我想对里面的图像也这样做the_content(). 你知道如何将同样的东西应用到帖子中的普通图片上吗。src应该始终保持wordpress创建的最小大小,并且数据属性应该链接到最大的文件大小。

2 个回复
最合适的回答,由SO网友:moraleida 整理而成

由于您已经知道$post\\u image\\u id,因此可以使用wp_get_attachment_src()

$small = wp_get_attachment_src($post_image_id, \'smallest-size\');
$large = wp_get_attachment_src($post_image_id, \'full\');

$smallURL = $small[0];
$largeURL = $large[0];
其中,“最小大小”是您在中预定义的图像大小的名称add_image_size()

SO网友:janw

post_thumbnail_html 有5个不同于您使用的3个参数,在arg中#5是属性
拇指应该已经是最小的文件。

http://adambrown.info/p/wp_hooks/hook/post_thumbnail_html?version=3.3&file=wp-includes/post-thumbnail-template.php

将此应用于the_content 会更加困难

结束

相关推荐

Taxonomy search filters

我使用几种分类法开发了几个国家的教育课程数据库。国家、研究所、研究水平和其他一些是分类法。如果用户单击某个国家/地区,将显示该国家/地区的所有课程。如何在保留在同一国家/地区的情况下过滤结果(研究所、学习水平等)。我想把它放在存档页上,这样每个搜索都可以进一步过滤。