• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    해결됨

5:30초 부분 결과값이 bool(false)로 나오는 문제

22.07.30 23:27 작성 조회수 138

0

안녕하세요. 호랭이님 글에 댓글로 질문을 달았다가 성격이 다른 문제 같아서 질문 글을 새로 올립니다. 'has_archive' => true로 값을 변경하였음에도, 결과값이 bool(false)로 나와서 막혔습니다. 첨부 사진이 있어 댓글로 질문 이어가겠습니다. 

답변 2

·

답변을 작성해보세요.

0

삭제된 글입니다

도움이 됐다니 기쁘네요!

강의에 나온 부분을 응용해 가며 작업하시는 것을 보니, 더 많은 것을 배우실 수 있을 것 같습니다.

감사합니다.

0

안녕하세요. 코드와 함께 질문해 주셔서 좋네요.

get_post_type_archive_link 설명을 보면 리턴값이 false인 경우를 설명하고 있습니다.

(string|false) The post type archive permalink. False if the post type does not exist or does not have an archive.
(string|false) 포스트 타입 아카이브의 영구링크. 포스트 타입이 존재하지 않거나 아카이브를 가지지 않으면 False.

그런데 보여 주신 코드를 보면 포스트 타입도 있고, 아카이브 옵션도 true로 설정돼 있습니다.

그렇다면 포스트 타입 설정이 잘못된 것이 아닌가 생각해 볼 수 있을 것 같습니다.

그래서 regsiter_post_type의 설명을 살펴 봤습니다.

여기서 $post_type 파라미터에 대해서 아래와 같이 설명하고 있습니다.

(string) (Required) Post type key. Must not exceed 20 characters and may only contain lowercase alphanumeric characters, dashes, and underscores. See sanitize_key().
(string) (필수) 포스트 타입 키. 20글자를 넘어서는 안되고, 알파벳 소문자, 대시와 언더스코어만 포함해야 한다. sanitize_key()를 보라.

지금 포스트 타입을 등록할 때 Works 포스트 타입을 설정하셨는데 대문자 W를 포함하셨습니다. 입력하신 Works는 register_post_type() 안에서 sanitize_key()를 거치면서 works로 변환됐을 것으로 보입니다. (sanitize_key 함수 내부를 보면 입력값을 소문자로 변환하는 코드가 있습니다.)

한 번 W를 소문자로 변경하고 다시 시도해 보시면 좋을 것 같습니다.