[WordPress] 워드프레스에서 is_single 과 is_singular 의 차이점을 알아보자

워드프레스에서 개별 포스트 혹은 페이지를 확인할 때 사용하는 함수인 is_single 과 is_singular 함수의 차이점을 알아봅시다.
Copy URL

워드프레스를 코어를 기반으로 해서 테마나 플러그인을 만들다 보면 현재 사용자가 보고 있는 페이지가 개별 포스트인지 확인하기 위해 아래 두가지의 함수를 사용합니다. 사용자가 보고 있는 페이지 라는 말을 조금더 자세하게 쓰자면 현재 페이지를 로드하는 쿼리(Query)가 개별 포스트 혹은 페이지인지 확인한다는 것입니다.

  • is_single
  • is_singular

이 두 함수에 대해 알아봅시다.

is_single

is_single 함수는 현재 사용자가 개별 포스트를 보고 있는지 확인해 개별 포스트일 경우 true 를, 그렇지 않으면 false 를 반환합니다.

Works for any post type, except attachments and pages

그리고 보통은 아래와 같이 사용하죠.

if ( is_single() ) {
    /* 개별 포스트에 출력될 내용들 */
}

is_singular

is_singular 함수는 현재 사용자가 어떠한 종류의 개별 포스트 혹은 페이지를 보고 있으면 true, 그렇지 않으면 false 를 반환합니다.

if ( is_singular() ) {
    /* 개별 포스트 혹은 페이지에 출력될 내용들 */
}

실전예제

아래는 각 상황별 is_singleis_singular 의 반환 값들입니다.

상황is_singleis_singular
개별 포스트truetrue
개별 사용자정의 포스트truetrue
개별 페이지falsetrue
첨부파일 페이지falsetrue
포스트 목록 페이지falsefalse

크게 다르지 않은것 같으면서도 확실히 다른 함수이니 잘 구분해서 사용해야 됩니다.

참고자료

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