작성자 없음
작성자 정보가 삭제된 글입니다.
해결된 질문
작성
·
221
답변 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를 소문자로 변경하고 다시 시도해 보시면 좋을 것 같습니다.
도움이 됐다니 기쁘네요!
강의에 나온 부분을 응용해 가며 작업하시는 것을 보니, 더 많은 것을 배우실 수 있을 것 같습니다.
감사합니다.