首页 > 解决方案 > wordpress:特定帖子ID上的触发钩子

问题描述

在我的 wordpress 页面上,我有一个展示特色图片的画廊。我想使用 wordpress 函数文件将 HTML 添加到特定项目。

如果我运行以下代码:

add_filter( 'post_thumbnail_html', 'add_featured_image_html', 10, 1 );
function add_featured_image_html( $html ) {
    return $html .= '<p>'.get_the_ID().' is the ID</p>';
}

我的前端确实在我的缩略图下方显示了帖子 ID。在这种情况下,我想以 Post_ID 19 为目标(顺便说一句,这是一个自定义帖子类型)。

如果我将代码扩展为:

$id = get_the_ID();
if ($id == 19) {
    add_filter( 'post_thumbnail_html', 'add_featured_image_html', 10, 1 );
    function add_featured_image_html( $html ) {
        return $html .= '<p>'.get_the_ID().' is the ID</p>';
    }
} 

什么都没有显示。

有没有人可以帮助我?太感谢了!

标签: wordpress

解决方案


此过滤器的第二个参数是帖子 ID。 https://developer.wordpress.org/reference/hooks/post_thumbnail_html/

这还没有经过测试,因为我在我的手机上......但这应该可以工作。

add_filter( 'post_thumbnail_html', 'add_featured_image_html', 10, 2 ); 
    function add_featured_image_html( $html , $id) {
         if ($id == 19){
            return $html .= '<p>'.get_the_ID().' is the ID</p>';}
         else {return $html} 
}  

推荐阅读