코딩

홈페이지에 Custom Post Type 표시하기 (feat. Events)

코딩저니 렉스 2022. 12. 17. 18:00

우선 워드프레스에 기존에 없는 url이 있을 때 (예시. /events) 추가하고 난 후에는 permalink 설정을 업데이트 해줄 필요가 있습니다.

위에서 볼 수 있는 것처럼 /event 라는 새로운 url이 추가되었습니다.

워드프레서에서 새로 만든 custom post type에 대한 페이지를 코딩하고 싶을 때는 single.php가 아닌 single-내가만든포스트타입.php 파일을 새로 만들어줄 필요가 있습니다. 

그리고 위와 같이 어떻게 보일지 설정해줄 필요가 있습니다. 

위의 코드로 인해 아래와 같은 이벤트 결과 확인이 가능합니다.

그리고 Events Home 즉 모든 이벤트를 나열하고 싶을 때 (블로그와 비슷하게) 워드프레스의 archive 기능을 사용할 필요가 있습니다.

이전에 새로운 custom post type 즉 event를 등록하면서 만들었던 php파일입니다.

'has_archive' => true associate array를 추가하므로 이벤트가 블로그처럼 archive기능이 있다는 사실을 추가해줍니다.

그리고 archive 기능을 추가했기 때문에 위에처럼 해당 archive_link('event')에 대한 url을 가지고오도록 할 수 있습니다.

이렇게 하여 event에 대한 url주소가 변경된 경우에도 /event를 항상 변경해 주는 것이 아니라 워드프레스 기능을 사용하여 url을 자동 불러오도록 할 수 있습니다.

 

추가적으로 archive 페이지 즉 모든 이벤트를 한번에 보여주는 페이지의 설정을 코딩하기 위해 아래와 같이 새로운 php파일을 만들어줍니다.

archive-event.php (만든 custom post type과 일치 필요)

여기에 있는 코드를 수정하여 어떻게 모든 이벤트가 표시되도록 할지 설정할 수 있습니다.

그럼 아래와 같이 블로그에서 사용한 archive.php 코드가 아니라 이벤트를 위한 커스텀 코드를 적용할 수 있습니다.