동일한 데이터베이스에서 서로 다른 테마를 사용하는 두 개의 워드프레스 사이트
같은 데이터베이스에서 one.site.com과 two.site.com 두 개의 워드프레스 사이트를 실행하고 싶습니다.주제만 빼고 모든 게 똑같아요.
- one.site.com - 기존 사이트
- two.site.com - 테마를 제외한 one.site.com 데이터베이스를 사용해야 합니다.
이 일을 할 수 있는 방법이 있을까요?
에 대한 은 마마에 저장되어 있기 때문에wp_options테이블은 two.site.com에서 다른 테마를 표시하기 위해 사용할 수 있습니까?그 표를 복제하여 two.site.com에 그것을 사용하도록 하는 것은?
도와주셔서 감사합니다.
편집:
두 사이트 모두 플러그인이 없습니다.
아래 솔루션이 도움이 되었습니다.
단일 데이터베이스에 WordPress 사이트 2개를 설치합니다.
이치노을 잇라고 부르다wp_options2에서 이 합니다.
두 하고 그 전에 wp-config로 합니다.php는 php를 사용합니다.if (!defined('ABSPATH'))define( 'M7_OPTIONS_TABLE', 'wp_options2');
두 번째 설치에서는 1009행의 wp-includes/wp-db.php로 이동하여 코드를 추가합니다.
if (isset( $tables['options'] ) && defined('M7_OPTIONS_TABLE')) $tables['options'] = M7_OPTIONS_TABLE;
은 '아예'에 되어야 합니다.public function tables "전", "전"if (isset( $tables['users']) && defined('CUSTOM_USER_TABLE')))
이 솔루션은 https://wordpress.stackexchange.com/questions/84313/how-to-run-two-wordpress-blogs-with-different-themes-and-with-single-database-an#answer-175494에서 찾을 수 있습니다.
같은 데이터베이스를 사용하기 때문에 링크는 양쪽 사이트에서 동일합니다.많은 이미지들이 링크되어 있고 그것들을 삭제했습니다.
.single a[href$=".jpg"] {
pointer-events: none;
cursor: default;
}
단일 데이터베이스에서 두 사이트를 실행할 수 있지만 저장된 데이터에 사이트의 도메인 이름이 포함되어 있으므로 동일한 데이터베이스 테이블 집합에서는 실행할 수 없습니다.
옵션 테이블에는 사용되는 siteurl과 home의 두 가지 값이 있습니다.각 php 실행에 대해 강제로 옵션을 업데이트해도 동일한 옵션 테이블을 사용할 수 없습니다.
따라서 두 개의 데이터베이스를 사용해야 합니다.
편집:
베이스를 복제하여 두 사이트를 서로 다른 데이터베이스로 실행하는 것이 좋습니다.
이것은 와일드카드 서브도메인(https://codex.wordpress.org/Configuring_Wildcard_Subdomains)을 사용하여 실행할 수 있습니다.
조금 허술할 수도 있지만 서브도메인 상태를 테스트하고(아마 wp-config.domain?) 데이터베이스(http://www.inmotionhosting.com/support/edu/wordpress/change-theme-in-db))에서 테마를 설정해야 합니다.
제가 볼 수 있었던 유일한 문제는 당신의 기능이 문제라는 것입니다.php는 WP의 기능을 변경할 수 있기 때문에 2개의 하위 테마를 가진 부모 테마를 사용하는 것이 좋습니다(https://codex.wordpress.org/Child_Themes)).
이 문제에 관해 많은 속임수가 있지만, 저는 꽤 간단한 해결책이 있다고 생각합니다.먼저 두 사이트 모두 이러한 하드코드가 wp-config에 포함되어 있는지 확인합니다.php:
define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');
이러한 정보는 URL에 대한 데이터베이스 설정이 무엇이든 각 사이트에서 "덮어쓰기"하는 데 도움이 됩니다.
다음으로 새로운 블로그 투고를 공개하거나 사이트 데이터를 편집하거나 하는 등의 MASTER 사이트를 결정합니다.그 사이트에서, 사용하고 싶은 테마를 액티브하게 합니다.
이제 슬레이브 사이트로 이동하여 SFTP를 통해 해당 테마를 삭제하고 해당 사이트에서 사용할 다른 테마를 업로드합니다.그 후 다음과 같이 하드코드 합니다.
define('WP_DEFAULT_THEME', 'twentytwenty');
이와 같이 SLAVE 사이트는 MASTER 사이트에서 활성화되어 있는wp_options에서 올바른 테마를 찾으려고 하지만 이미 삭제되었기 때문에 wp-config에서 정의된 기본 테마를 사용하는 것으로 돌아갑니다.php
앞으로 슬레이브 사이트의 사이트 설정/플러그인 등을 조작하지 말고 테마 파일만 사용하여 슬레이브 사이트의 설계를 변경합니다(정적인 테마 등).MySQL을 필요로 하는 과장된 테마와 페이지 빌더 타입의 상황을 사용하고 있는 경우는, 이것은 확실히 동작하지 않습니다.
주의: 다음 사이트를 방문해야 할 수 있습니다./wp-admin/themes.php하드코드된 테마를 로드하도록 WordPress를 "강제"하려면 적어도 한 번 이상 슬레이브 사이트에 있어야 합니다.
관심 있는 사람은 SlikStack이 이 방식을 지원합니다.
https://wordpress.stackexchange.com/q/65560/wp-multisite-load-content-from-site-x-on-site-y 복제
WP 다중 사이트 네트워크 기능을 사용하고 몇 개의 문서화된 API 호출을 하나의 테마에 추가하는 것이 데이터베이스 스키마를 수동으로 수정하고 WP가 액세스하는 방법을 방해하는 것보다 더 깨끗한 해결책이 될 수 있다고 주장할 수 있다.
언급URL : https://stackoverflow.com/questions/32523635/two-wordpress-sites-using-diiferent-themes-on-the-same-database
'programing' 카테고리의 다른 글
| Spring Scheduling - 매일 0시에 Cron 식을 사용할 수 없습니다. (0) | 2023.03.15 |
|---|---|
| 워드프레스 기능과 함수의 current_user_can().php (0) | 2023.03.15 |
| 언제 JSON 또는 XML 데이터를 SQL 테이블에 저장할 수 있습니까? (0) | 2023.03.15 |
| jest: 테스트 스위트를 실행하지 못했습니다. SyntaxError:예기치 않은 토큰 Import (0) | 2023.03.15 |
| 오류: 구현되지 않음: window.scrollTo.Jest 테스트에서 이 오류를 제거하려면 어떻게 해야 합니까? (0) | 2023.03.15 |