검색에서 원하지 않는 결과를 제외하는 코드 및 플러그인 만들기

몇일 전 검색 기능이 없어 이용이 불편하다고 하셔서 테마에 검색 기능을 추가했는데 검색에서 원하지 않는 페이지가 함께 검색되고 있어 검색에서 페이지를 제외하는 기능을 추가하였습니다. 이번 포스트에서는 검색에서 원하는 페이지를 제외하는 기능에 대해서 알아보겠습니다.

검색에서 원하지 않는 페이지가 노출되는 모습

search-page-result
위의 페이지는 userpro 플러그인(회원 관리를 위한 플러그인)에서 자동 생성한 페이지로 검색에서 표시되지 않기 원하는 내용입니다. 기본적으로 워드프레스는 포스트와 페이지 모두 검색 결과에 포함하기 때문에 이런 경우에는 간단한 코드로 원하지 않는 포스트 또는 페이지를 검색 결과에서 제외할 수 있습니다.

페이지 전체를 검색 결과에서 가리기

아래의 코드를 테마의 functions.php에 추가합니다.

특정 페이지만 검색 결과에서 가리기

만일 특정 페이지만 검색 결과에서 제외하고 싶은 경우에는 아래의 코드를 테마의 functions.php에 추가합니다. 아래 코드에서 array 안에 있는 숫자는 원하지 않는 페이지의 id입니다. 여러분이 검색 결과에서 제외하고 싶은 페이지 id를 입력하세요.

간단한 플러그인으로 만들어 사용하기

현재 테마를 변경하는 경우에는 새로운 테마에서 위의 코드가 더 이상 적용되지 않겠죠. 이런 경우에는 간단한 플러그인으로 만들어서 어느 테마에서든 사용하는 것도 좋습니다.

1. 주로 사용하시는 에디터를 열어 위의 코드 복사/붙이기
2. 해당 파일의 이름을 (예: no-page-search.php) 정하고 새로운 폴더를 (예: no-page-search) 만들어 거기에 담기
3. 2번에서 만든 폴더를 zip으로 압축하고 워드프레스 대쉬보드에서 플러그인 추가하기하여 인스톨
4. 인스톨이 끝난 후 플러그인 활성화

마치며

컨텐츠가 많은 경우에 사용자는 검색 기능을 활용하여 원하는 컨텐츠를 쉽게 찾을 수 있습니다. 하지만 원하지 않는 컨텐츠가 검색되면 곤란하겠죠. 여러분도 원하지 않는 검색 결과가 있다면 위의 코드를 활용해서 결과에서 제외해보세요. 그럼 오늘도 즐거운 블로깅 하세요!

글쓴이

HwangC

안녕하세요! 여러분의 편안한 워드프레스 안내자 황씨입니다.

“검색에서 원하지 않는 결과를 제외하는 코드 및 플러그인 만들기”에 대한 2개의 생각

  1. 위에 올려주신 방법처럼 실행했는데 배열이용해서 특정 id값 넣는 것이요. 그런데 저같은경우는 고유주소를 넘버링이 아닌, 글이름으로 씁니다. 해당하는 배열에 글이름을 넣을 경우는 되지않는 것인가요?? 글이 검색이 되더라구요.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.