У меня есть страница (компании) с двумя подстраницами (новые, избранные).
Подстраницы запрашивают материал из пользовательского пост-типа (компании).В подстраницах также есть окно поиска, отфильтровывающее материал по пользовательскому типу поста.
Затем есть баннер, который читает миниатюру поста «Компании», и этот баннер также должен быть виден в подстраницах.Я написал эту функцию, и она отлично работает для обеих подстраниц, но не для результатов поиска.Он заменяет баннер с миниатюрой первого результата вместо супер-родительского элемента (компании).
Как это исправить?.
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' );
}
}
РЕДАКТИРОВАТЬ: Iзаставить его работать с другим подходом, но не так динамично ... Я просто поместил пустое поле с идентификатором родителя в форму поиска и затем извлек его в шаблон search.php
.
<input type="hidden" name="parentId" value="129" />
А потом ...
<?php
$id = $_GET['parentId'];
echo get_the_post_thumbnail($id, 'banner');
?>
Это не идеально, но работает.У кого-нибудь есть идея, как это сделать с помощью функции, которую я разместил в исходном вопросе?