하나의 워드프레스로 여러 개의 사이트를 운영하고 싶은 경우 멀티사이트(Multisite)를 이용하면 편리합니다. 그러면 여러 개의 개별 사이트를 운영하는 것보다 시간을 크게 절감할 수 있습니다. 멀티사이트 설치 방법은 다음 글을 참고해보세요.
멀티사이트에서는 네트워크 레벨에서 여러 개의 테마와 플러그인을 설치하고 개별 사이트에서 필요한 테마와 플러그인을 사용할 수 있습니다. 이 글에서는 멀티사이트에서 워드프레스 테마와 플러그인 활성화/비활성화 방법에 대해 간단히 살펴보겠습니다.
워드프레스 멀티사이트에서 테마와 플러그인 활성화/비활성화 방법
워드프레스 테마
멀티사이트에서는 하나의 테마를 여러 사이트에서 공유하는 것이 가능합니다. 또한, 네트워크에서 여러 개의 테마를 설치하고 개별 사이트에서 필요한 테마를 활성화하여 사용할 수 있습니다.
네트워크에서는 개별 사이트에 사용할 모든 테마를 활성화해야 합니다. 가령 A 사이트에서는 아바다 테마, B 사이트에서는 엔폴드 테마, C 사이트에서는 Flatsome 테마를 사용하고 싶다면 내 사이트 > 네트워크 관리자 > 테마 > 설치한 테마에서 해당 테마를 모두 네트워크 활성화해야 합니다.
위의 그림과 같이 필요한 테마를 모두 네트워크 활성화한 다음, 개별 사이트에서는 사용할 테마를 활성화하면 됩니다. 가령 특정 사이트에서 아바다 테마를 활성화하고 싶은 경우 외모 > 테마에서 Avada 테마를 활성화하면 됩니다.
하나의 테마만을 네트워크 활성화하고 모든 사이트에서 동일한 테마를 활성화하여 사용하는 것도 가능합니다. 이 경우 각 사이트에서 테마 옵션 등을 통해 다르게 커스텀할 수 있습니다. 예를 들어, 저는 GeneratePress 테마를 네트워크 내의 모든 사이트에서 활성화하여 사용하고 있습니다.
이 경우 테마 파일을 ftp에 접속하여 직접 수정하면 해당 테마를 사용하는 모든 사이트에 적용됩니다. 정리하지만 개별 워드프레스 관리자 페이지 내에서는 사이트마다 다르게 커스텀이 가능하지만, ftp를 통해 테마 파일을 수정할 때에는 해당 테마를 공유하는 모든 사이트에 적용됩니다.
블로그마다 다른 코드를 적용시키려는 경우 멀티사이트와 관련하여 워드프레스에서 제공하는 함수를 이용할 수 있습니다. 예를 들어, 현재 사이트 ID를 가져오려는 경우 get_current_blog_id()를 사용할 수 있습니다.
예시:
<?php
$blog_id = get_current_blog_id();
if ( 1 == $blog_id ) {
?>
<!-- Your FIRST code block here -->
<?php } else { ?>
<!-- Your SECOND code block here -->
<?php } ?>
// 출처: https://wordpress.stackexchange.com/questions/124104/multisite-conditional-if-blog-id-in-a-page-template
워드프레스 플러그인
멀티사이트 네트워크 전체에서 활성화하려는 플러그인만 내 사이트 > 네트워크 관리자 > 플러그인 > 설치한 플러그인에서 네트워크 활성화하고 나머지는 개별 사이트에서 필요한 플러그인만 활성화하여 사용하면 됩니다. 네트워크 활성화하면 모든 사이트에서 활성화됩니다. 만약 모든 플러그인을 네트워크 활성화하면 모든 사이트에서 모든 플러그인이 모두 활성화되죠?
하지만 몇몇 보안 플러그인이나 백업 플러그인 등 일부 플러그인은 네트워크 활성화를 통해서만 사용할 수 있습니다.
참고