• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

안녕하세요, 질문드립니다!

21.07.08 15:56 작성 조회수 136

0

일단 좋은 강의 정말 감사드립니다!

이메일로 친절히 답변주신 덕분에 용기내서 수업 듣고, 생각보다 잘 따라가고 있다고 생각합니다. 

궁금한 점이, 강의 초반에 '책' 이라는 새로운 포스트 타입을 만들었고, 현재 url에 /book을 넣어야 새로운 포스트들이 나오는 게시물 목록으로갈 수 있는데요.

질문 :

1. /book이라는 url의 명칭은 앞서 작성한 어떤 코드에서 정해지는건가요?

2. 새로운 포스트 타입(/book)을 만드는건 제가 만들려는 웹사이트에서도 정말 유용한 기능이라고 생각하여 유지하고싶은데, 

웹사이트의 첫페이지로 들어갔을 때 새로운 포스트 타입의 게시물들이 바로 보이게 하려면 코드의 어떤 부분을 수정해야하는지 궁금합니다.

그리고, 그렇게 되면 기존의 포스트 타입과의 관계성이 어떻게 만들어지는지도 궁금합니다!

감사합니다!

답변 1

답변을 작성해보세요.

0

안녕하세요. 수업을 잘 따라와 주고 계신다니 기쁩니다.

1.

질문해 주신 내용에 답을 드리자면요. 기본적으로 URL은 post_type을 따라가게 됩니다. 우리가 정한 post_type의 이름이 book이었으니 기본적으로 이 post type의 archive를 불러올 때는 book이라는 값을 사용하게 되는 것입니다.

그리고 아시겠지만 URL의 형태는 설정의 고유주소 부분에서 설정하게 됩니다. 이 고유주소에 따라서 book이 들어가는 위치는 달라지게 되지요. 예컨대 .htaccess 리디렉트 기능을 사용하지 않는 기본적인 URL(설정 > 고유주소에서 일반을 선택한 경우)에서는 /?post_type=book 이라는 URL을 통해서 post type archive에 접근하게 됩니다.

그런데 post type의 이름이 너무 길어서 URL에서 사용하기는 좀 부담스러운 경우가 생길 수 있습니다. 예컨대 community_post 같은 이름으로 post type을 만들었다고 가정해 볼 게요. 그러면 URL이 /community_post 가 될 텐데요. 그러면 너무 길죠. 이런 경우 post type을 만들 때 rewrite라는 옵션을 지정해서 URL을 좀 줄일 수 있습니다.

https://developer.wordpress.org/reference/functions/register_post_type/#rewrite

위 문서를 참고해 보시면 되는데요. 아마 아래와 같은 코드가 될 겁니다.

register_post_type( 'community_post', [
   // ...
   'rewrite' => [ 'slug' => 'cpost' ],
] );


이렇게 rewrite 옵션을 통해서 post type archive의 URL에 사용되는 값을 변경해 줄 수도 있습니다. 이렇게 한 경우 community_post의 post type archive의 주소는 /cpost가 됩니다.

설정을 변경한 다음에 설정 > 고유주소 메뉴에 가서 한 번 저장해 주시는 것을 잊지 마시고요.

한 가지 더 아셔야 할 게 있는데요. 이렇게 rewrite를 지정해 줘도 .htaccess의 rewrite 기능을 사용하지 않는 기본 URL(즉, 일반)에서는 여전히 /?post_type=community_post로 작동을 한다는 것입니다.

위 메뉴에서 일반이 아닌 다른 것을 선택하셔야 rewrite에 설정한 slug가 적용됩니다.

2.

인덱스 페이지 구성에 대해서도 질문을 주셨는데요. 그 부분은 파트2에서 다루는 부분입니다. 제가 여러 번 파트2 일정에 대해 말씀을 드렸는데, 하나도 지키지 못해 면목이 없습니다.

그러나 이제 정말 막바지 작업을 하고 있고, 이번 주 안으로 파트2를 완료할 계획입니다. 인프런 측에서 후처리를 한 뒤 출시하는 시점은 이번주가 아니라 다음주가 될 수도 있을 것 같은데 정확히는 모르겠습니다. 따라서 조금만 기다려 주시면 관련 내용을 강의로 만나 보실 수 있을 것 같습니다.

그 전에 학습을 하고 싶으시면 WP_Query 문서를 참고해 보시기를 권해 드립니다.

https://developer.wordpress.org/reference/classes/wp_query/

Custom Post Type 글들을 불러오고 싶으시면 https://developer.wordpress.org/reference/classes/wp_query/#post-type-parameters 부분을 보시면 됩니다.

그리고 posts_per_page 옵션으로 불러오는 글의 개수를 제한하실 수 있습니다.

매뉴얼을 보시고 index.php 파일을 마음에 드는대로 수정하시면 됩니다.

감사합니다.