Wordpress 在搜索结果中获取缩略图

Wordpress 在搜索结果中获取缩略图,wordpress,custom-post-type,ancestor,Wordpress,Custom Post Type,Ancestor,我有一个公司的网页,有两个子页面,新的,特色的。 子页面从自定义的post类型公司查询内容。在子页面中还有一个搜索框,用于从自定义帖子类型中筛选内容。 然后,有一个横幅,可以读取页面公司的帖子缩略图,该横幅也应该在子页面中可见。我编写了这个函数,它对两个子页面都很好,但对搜索结果却不起作用。它将用第一个结果的帖子缩略图替换横幅,而不是superparent公司。 我怎样才能解决这个问题 function get_parent_post_thumb( $post ){ if ( $post

我有一个公司的网页,有两个子页面,新的,特色的。 子页面从自定义的post类型公司查询内容。在子页面中还有一个搜索框,用于从自定义帖子类型中筛选内容。 然后,有一个横幅,可以读取页面公司的帖子缩略图,该横幅也应该在子页面中可见。我编写了这个函数,它对两个子页面都很好,但对搜索结果却不起作用。它将用第一个结果的帖子缩略图替换横幅,而不是superparent公司。 我怎样才能解决这个问题

function get_parent_post_thumb( $post ){
    if ( $post->post_parent ) {
        $parentId = end( $post->ancestors );
        echo get_the_post_thumbnail( $parentId, 'banner' );
    } else {
        the_post_thumbnail( $post->ID, 'banner' );
    }
}
编辑: 我用一种不同的方法工作,但没有那么动态。。。我只是在搜索表单中放入一个带有父id的空字段,然后在search.php模板中检索它

<input type="hidden" name="parentId" value="129" />
然后

<?php 
    $id = $_GET['parentId'];
    echo get_the_post_thumbnail($id, 'banner');
?>

这并不理想,但确实有效。有人知道如何使用我在原始问题中发布的功能吗?

如果不仔细研究,很难知道-你在搜索页面上传递$post的内容是什么,因为搜索页面不是post,甚至不是这方面的页面?我使用在子页面和搜索页面中定义全局$post。如何在搜索结果中找到父页面?尤其是在显示任何结果之前,$post在搜索页面中有效吗?我不认为会这样,所以我不希望能够检查它的祖先或任何东西并得到一个有效的结果。我理解你的意思,但为什么全局$post会返回搜索结果中的第一个结果呢?