-
카테고리
-
세부 분야
웹 개발
-
해결 여부
해결됨
5:30초 부분 결과값이 bool(false)로 나오는 문제
22.07.30 23:27 작성 조회수 138
0
안녕하세요. 호랭이님 글에 댓글로 질문을 달았다가 성격이 다른 문제 같아서 질문 글을 새로 올립니다. 'has_archive' => true로 값을 변경하였음에도, 결과값이 bool(false)로 나와서 막혔습니다. 첨부 사진이 있어 댓글로 질문 이어가겠습니다.
답변을 작성해보세요.
0
안형우
지식공유자2022.07.30
안녕하세요. 코드와 함께 질문해 주셔서 좋네요.
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를 소문자로 변경하고 다시 시도해 보시면 좋을 것 같습니다.
답변 2