나는 내 WordPress 검색 결과를 조정할 방법을 찾고있었습니다. 내 사이트에서특정 부모의 하위 페이지를 WordPress 검색 결과에서 숨기는 방법
나는 글, 페이지 & 및 사용자 정의 포스트 유형이 :
이 제가 원하는 것입니다. 이제 다른 페이지의 하위 페이지에있는 특정 페이지가 있습니다. 예를 들어 Services
이라는 상위 페이지가 있고 그 아래에 ABC Service
, XYZ Service
등 5 개의 하위 페이지가 있다고 가정 해 봅시다.
는 지금은 워드 프레스 검색 결과에 만 다음 사항을 반환하려면 :
모든 게시물
페이지 (아니 서비스 페이지와 그 아래에있는 모든 하위 페이지). 따라서
Services
페이지와 상위 페이지가있는 하위 페이지 5 개 모두Services
을 제외한 모든 페이지가 검색에 표시됩니다.다른 사용자 정의 포스트 유형
이 내가 무슨 짓을 :이 난 후
function ism_is_subpage() {
$post = get_post();
if (is_page() && $post->post_parent) {
return $post->post_parent;
} else {
return false;
}
}
:
먼저 나는 하위 페이지를 확인하기 위해 작은 함수를 만들어 WordPress pre_get_posts
필터 호출을 생성하여 전달합니다. 이처럼 :
add_filter('pre_get_posts', function($query) {
if (!$query->is_admin && $query->is_search) {
$query->set('post_type', array('post', 'page', 'other-post-type1'));
}
return $query;
});
는 그러나 문제는 내가 내 원하는 결과를 얻고 있지 않다는 ism_is_subpage()
전화를 아무리입니다.
누구든지 도와 줄 수 있습니까?
안녕하십니까. 몇 가지 질문이 있습니다. 위의 post_id에서 첫 번째로 부모 페이지를 넣을 수 있습니까? 또한 내가 언급 한 것처럼 게시물, 페이지, 사용자 정의 게시물 유형을 언급하는 방법이 없습니다. 검색에 표시하고 싶지 않은 특정 맞춤 게시물 유형이 있기 때문입니다. – iSaumya
편집 plese (영문)를 확인하십시오. – ksno
놀라운. 편집 해 주셔서 감사합니다. 그래서 나는 ism_is_subpage()를 더 이상 필요로하지 않는다. 마지막 질문이 1 개 있습니다. 왜'post_parent__not_in'과'post__not_in' 둘 다 사용합니까?'post__not_in'과 같은 것이기 때문에'Services' 페이지 자체가 검색에 나타나지 않고'post_parent__not_in'이'Services' 페이지의 자식이 검색에 나타나지 않도록 할 것입니다. 내가 맞습니까? – iSaumya