WordPress 中的 post_thumbnail_html 钩子是用于修改或添加文章特色图像 HTML 输出的。该钩子允许开发者在文章特色图像的 HTML 输出之前或之后执行自定义代码。
要使用 post_thumbnail_html 钩子,需要在主题或插件的 functions.php 文件中添加以下代码:
function custom_post_thumbnail_html($html, $post_id, $post_thumbnail_id, $size, $attr) { // 在这里添加或修改文章特色图像的 HTML 输出 return $html; } add_filter('post_thumbnail_html', 'custom_post_thumbnail_html', 10, 5);
在上面的代码中,我们创建了一个名为 custom_post_thumbnail_html 的函数来处理 post_thumbnail_html 钩子。该函数接收五个参数:$html(文章特色图像的 HTML 输出),$post_id(文章的 ID),$post_thumbnail_id(文章特色图像的 ID),$size(图像尺寸)和 $attr(附加的图像属性)。
通过修改 $html 变量,我们可以对文章特色图像的 HTML 输出进行自定义。最后,我们将修改后的 $html 变量返回。
接下来,我们使用 add_filter 函数将 custom_post_thumbnail_html 函数添加为 post_thumbnail_html 钩子的过滤器。第一个参数是过滤器的名称,第二个参数是要调用的函数名称,第三个参数表示优先级(数字越小,优先级越高),最后一个参数表示该函数接受的参数数量。
现在,我们可以在 custom_post_thumbnail_html 函数中添加任何自定义代码,以修改或添加文章特色图像的 HTML 输出。
以下是一些使用 post_thumbnail_html 钩子的示例:
1. 添加一个包裹在 div 元素中的 CSS 类:
function custom_post_thumbnail_html($html, $post_id, $post_thumbnail_id, $size, $attr) { $html = ' ' . $html . ' '; return $html; } add_filter('post_thumbnail_html', 'custom_post_thumbnail_html', 10, 5);
2. 在图片下方添加一个标题:
function custom_post_thumbnail_html($html, $post_id, $post_thumbnail_id, $size, $attr) { $html .= ' ' . get_the_title($post_id) . ' '; return $html; } add_filter('post_thumbnail_html', 'custom_post_thumbnail_html', 10, 5);
3. 修改图像的尺寸和属性:
function custom_post_thumbnail_html($html, $post_id, $post_thumbnail_id, $size, $attr) { $size = 'medium'; // 将图像尺寸设置为中等 $attr['class'] = 'custom-thumbnail'; // 添加一个自定义 CSS 类 $html = get_the_post_thumbnail($post_id, $size, $attr); return $html; } add_filter('post_thumbnail_html', 'custom_post_thumbnail_html', 10, 5);
总结来说,post_thumbnail_html 钩子允许开发者在文章特色图像的 HTML 输出之前或之后添加自定义代码。通过修改 $html 变量,可以对文章特色图像的 HTML 输出进行自定义。使用 add_filter 函数将自定义函数添加为过滤器,以便在特定位置调用。
0 个评论