인프런 커뮤니티 질문&답변

열공님의 프로필 이미지

작성한 질문수

워드프레스 제대로 개발하기 - 클라이언트 편

상세화면용 표지 불러 오기 2

플러그인 개발에 대해서 궁금합니다

해결된 질문

24.06.27 09:59 작성

·

140

·

수정됨

0

안녕하세요. 플러그인 관련 개발자 리소스 문서에도 강의하신 Action, Filter, WP API, Ajax 사용법 등과 같은 내용이 보이는데요. 플러그인 개발은 테마 개발과 다른 성격의 기능을 개발한다는 점에서 차이가 나는 것일까요?테마는사이트의 외관 개발에 적합하고 사이트에서 한개의 테마만 활성화할 수 있고, 플러그인은 내부적인 동작과 로직 개발에 적합하고 여러 플러그인을 활성화할 수 있다는 차이가 나는 것으로 이해하면 괜찮을까요?파트1을 듣고 파트2를 수강하고 있는데 플러그인 개발은 다루지 않는다고 하셔서 궁금하여 질문 드립니다.좋은 강의 감사합니다.

답변 2

1

워드프레스 개발님의 프로필 이미지
워드프레스 개발
지식공유자

2024. 06. 27. 11:30

안녕하세요. 좋은 질문 감사합니다.

사실 플러그인과 테마 개발에 사용되는 기술은 거의 동일해서 제 수업을 듣고 나면 플러그인 개발도 얼마든 하실 수 있습니다. 플러그인이라는 게 추가적인 동작(Action)을 제공하거나, 내용을 변경(Filter)하는 것이니까요.

테마가 index.php와 style.css로 시작하는 것처럼 플러그인은 규칙대로 폴더를 만들고 임의의 php 파일에 주석을 달아 워드프레스에 인식을 시킨 후 활성화해 주면 동작합니다.

테마는 사이트의 외관 개발에 적합하고 하나의 테마만 활성화할 수 있다는 말씀은 맞습니다. 플러그인으로 외관에 관여할 수 있지만 한계가 있죠. 그래서 플러그인은 내부적인 동작 개발에 적합하고 여러 플러그인을 활성화할 수 있다는 말씀도 맞습니다.

그러나 너무 도식적으로 생각하실 필요는 없습니다. 테마에도 내부적인 동작이 들어갑니다. 대신 이 동작은 하나의 테마에 적합하게 만들면 되기 때문에 좀더 간편한 것이죠.

플러그인도 외관에 얼마든지 관여할 수 있습니다. 테마로 구현할 때보다 좀 귀찮긴 하지만요. 그러나 플러그인으로 외관에 관여해야 하는 경우도 없지 않을 겁니다.

제 생각에는 테마로 만들 것이냐 플러그인으로 만들 것이냐는 기술적인 차이도 조금 있기는 하지만, 그보다는 사용 목적이 더 중요한 기준이 되는 것 같습니다. 혼자 사용할 거라면 테마 기능의 일부로 넣으면 되는 것이고, 여러 사이트에서 사용하게 할 것이라면 플러그인으로 만드는 것이죠.

예컨대, SNS 공유 버튼을 다는 기능을 제공하는 플러그인들이 많이 있습니다. 그러나 저는 특정 사이트를 위한 테마를 개발할 때 그걸 플러그인으로 구현하기보다는 테마 코드의 일부로 집어넣습니다. 그편이 디자인과 어우러지도록 깔끔하게 만들기 좋거든요. 굳이 범용성을 추구할 필요도 없고요.

그러나 만약 제가 모든 사이트를 위해서 깔끔한 SNS 공유 버튼을 다는 기능을 제공하고자 한다면 플러그인으로 구현해야겠죠. 그만큼 코드도 작성하기 까다로울 겁니다.

다른 많은 기능도 마찬가지입니다. 모든 플러그인 기능은 테마에 코딩해 그 기능을 제공할 수 있습니다. 코드가 거의 같으니까요. 그러나 범용적으로 다른 모든 사이트에도 그 기능을 제공하고자 한다면 플러그인으로 개발하면 되는 것입니다.

혹시 추가적인 질문 있으면 남겨 주세요.

감사합니다 :)

열공님의 프로필 이미지
열공
질문자

2024. 06. 27. 22:54

자세하고 친절한 설명 감사합니다. 이렇게 빨리 답변을 주시니 멋진 강의가 더욱 빛나는 것 같습니다. 많이 배우고 있습니다. 감사합니다.

1

인프런 AI 인턴님의 프로필 이미지

2024. 06. 27. 10:01

안녕하세요, 인프런 AI 인턴입니다.

열공님의 질문에 대해, 플러그인 개발과 관련된 내용이 담긴 기존의 답변을 찾았습니다. 해당 내용은 플러그인과 테마 개발의 차이점, 플러그인 개발 시 고려해야 할 점, 그리고 플러그인 개발에 필요한 특정 기술들에 대해 다루고 있으멀로 열공님의 질문과 부분적으로 일치하는 정보를 제공할 수 있을 것 같습니다.

먼저, 테마와 플러그인 개발 사이의 주요 차이점에 대해 소개한 게시물은 아래와 같습니다:

  • 테이블을 직접 만들고 사용하는 방법 문의에서 플레어님은 테이블을 직접 생성하고 컨트롤하는 방법에 대해 질문했습니다. 이 질문에는 테마 개발에만 국한되지 않고, 플러그인 개발에서도 적용될 수 있는 wpdb 사용법과 관련하여 설명되어 있습니다. 워드프레스 개발시 액션, 필터 등을 적용하는 방식과 더불어, 데이터베이스 관리와 같은 복잡한 로직 처리를 위해 플러그인이 어떻게 활용될 수 있는지에 대한 설명이 포함되어 있습니다.

  • WP 전반적인 질문입니다.에서는 테마 개발을 위한 액션, 필터 등의 사용법에 대한 질문이 나왔습니다. 워드프레스 개발 시 필수적 요소인 액션과 필터의 동작 방식에 대한 기본적인 이해는 플러그인 개발에도 큰 도움이 됩니다.

플러그인 개발과 테마 개발이 서로 다르긴 하지만, 기본적으로 워드프레스 코어의 동작 원리와 PHP, Hooks(Action, Filter), WP API 등의 사용법을 공유하고 있다는 점에서 상호보완적일 수 있습니다. 테마가 주로 사이트의 외관을 담당하는 반면, 플러그인은 기능 확장과 관련된 로직을 추가하는 데 주로 사용됩니다. 여러분이 언급하신 바와 같이, 이러한 차이점을 이해하는 것은 중요합니다.

질문하신 내용에 추가적으로 호기심을 느낀다면, 워드프레스 공식 문서나 다양한 플러그인 개발 강좌를 찾아보시는 것도 좋은 방법입니다. 또한, 개별 플러그인 개발에 관련된 구체적인 주제나 기술적인 부분에 대해서는 추가적인 질문을 남겨주시면 더 상세하게 안내해드릴 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

열공님의 프로필 이미지

작성한 질문수

질문하기