CodeIgniter + Wordpress 통합
제 웹사이트는 워드프레스로 디자인되었습니다.일부 테마 페이지에는 CodeIgniter에서 리팩터링하고 싶은 것을 예약하기 위한 맞춤 제작 PHP 스크립트가 있습니다.질문:
1) CI 라우팅 시스템에서 WP에서 CI 기능을 사용하는 방법? CI 페이지 index.php/controller/page1/을 작성한 후 Wordpress로 호출해야 합니까?
2) 결과를 얻으려면 Code Igniter "views" 시스템 또는 Word press "teme pages"를 사용해야 합니까?
감사해요.
나는 다음을 사용했다.
일부 페이지는 CodeIgniter를 사용하고 나머지 페이지는 Wordpress에 그대로 두는 것이 목표입니다.몇 단계만 하면 됩니다.
Wordpress 루트에 CI 폴더 복사
CI의 "index.php"를 변경하여 WP 함수를 CodeIgniter에 추가하는 include를 추가합니다.
@require '../wp-load.php';
require_once BASEPATH.'core/CodeIgniter.php';
이 행이 추가되면 워드프레스 기능은 CodeIgniter에서 사용할 수 있으며 주로 뷰에 사용됩니다.
WP의 .htaccess를 변경하여 CI의 URL을 다시 작성하지 않도록 합니다.다음 행 뒤에 있습니다.
RewriteRule ^index\.php$ - [L]
다음 행을 추가합니다.
RewriteCond %{REQUEST_URI} !^/(codeigniter_folder|codeigniter_folder/.*)$
그러면 CI 뷰는 WP 기능을 사용할 수 있습니다.
로그인 세션을 사용하는 CI 응용 프로그램이 있는 경우 wp-includes WP 폴더에서 load.php 파일을 수정해야 합니다.그렇게 하려면 이 링크에서 PhilB의 답변을 따라가야 합니다.상세한 것에 대하여는, 이 투고를 참조해 주세요.
WordPress와 CodeIgniter는 모두 PHP에서 가장 인기 있는 프레임워크입니다.CodeIgniter는 WordPress와 통합할 수 있는 애플리케이션 개발에 도움이 되는 경량 PHP 프레임워크입니다.CodeIgniter와 WordPress 요소를 개별적으로 개발하는 것을 선호하는 사용자도 있지만, 두 플랫폼 모두에서 기본 탐색 및 바닥글이 유사한 예를 살펴보겠습니다. 탐색 및 바닥글을 두 번 업데이트하는 것은 별 의미가 없기 때문입니다.
여기에서는 WordPress와 CodeIgniter를 사용한2가지에 대해 설명합니다.
- 이미 실행 중인 WordPress 웹사이트를 통합하여 CodeIgniter를 통합하는 방법
WordPress를 통합하기 위해 이미 실행 중인 Codeigniter 웹사이트를 통합하는 방법
CodeIgniter를 WordPress에 통합 수많은 사이트 운영자들이 여전히 필수적인 콘텐츠 관리 시스템(CMS)으로 WordPress에 기대고 있으며, WordPress가 제공하는 광범위한 하이라이트를 고려할 때 WordPress를 탓할 수는 없습니다.
여기에서는 CodeIgniter를 WordPress에 통합합니다.WordPress는 우리의 주요 어플리케이션이며, CodeIgniter 앱은 서브디렉토리에 두고 CodeIgniter 내의 기능을 사용합니다.
1단계: WordPress 부트스트랩 파일 WordPress의 wp-load 추가.php 파일은 CI의 index.php 파일에 있는 Codeigniter 부트스트랩 파일에 대한 호출 바로 앞에 있습니다.
WordPress 기능을 CI' 파일에 추가하기 전.모든 것이 정상적으로 동작하는지 테스트합니다.우리 앱의 첫 페이지는 괜찮아 보였지만, 그것뿐이었다.
폼 핸들러를 포함한 앱 내의 모든 URL이 루트 디렉토리(즉, WordPress의 디렉토리)로 리다이렉트 되어 404개의 에러가 발생했습니다.WordPress와 Codeigniter 모두 글로벌 범위에서 "site_url" 함수가 있음을 발견했습니다.CodeIgniter 전에 WordPress 부트스트랩 파일을 로드함으로써 WordPress site_url을 얻을 수 있었습니다.코드 시그니터 함수는 site_url 함수가 존재하는지 확인하고 있었기 때문에 자동으로 "실패"했습니다.
스텝 2: Code Igniter URL 도우미 확장 당사의 솔루션은 Code Igniter의 URL 도우미를 '확장'하는 것이었습니다.ci_site_url을 사용하면 site_url 문제를 해결할 수 있습니다.My_url_helper.php(도움말) 파일은 CodeIgniter 응용 프로그램 디렉토리에 있어야 합니다.
스텝 3: CodeIgniter App에서 site_url을 ci_site_url로 변경합니다.모든 site_url 파일 참조를 ci_site_url로 애플리케이션, 컨트롤러, 모델 및 디렉토리에 바꿉니다.
이 단계를 완료하면 CI 앱이 작동했습니다.
4단계: WordPress에서 쿠키 관리를 중지합니다!아직 작동하지 않는 사이트는 Codeigniter에 구축한 관리 패널입니다.자격 정보는 받아들여졌지만 로그인 페이지로 리다이렉트 됩니다.
로그인 시 CodeIgniter가 모든 활성 데이터베이스 세션에 대해 쿠키를 생성하는 것을 알고 계실 것입니다.이로 인해 WordPress 부트스트랩 파일이 문제를 해결할 수 있습니다.이것은 WordPress가 $_COOKIE global을 통해 루프하고 CodeIgniter cookie를 제외한 모든 요소에 add_magic_quotes 기능을 구현했을 때 발생합니다.
- WordPress를 CodeIgniter에 통합합니다.CodeIgniter에서 이미 웹 사이트를 만들고 블로그 페이지를 추가한 경우 WordPress가 가장 좋은 옵션입니다.첫 번째로 WordPress를 웹 사이트의 블로그라는 폴더에 설치합니다.CodeIgniter 웹사이트의 최상위 디렉토리에 있습니다.따라서 CI 설치의 시스템 폴더 옆에 있습니다.사이트에 이미 DB가 있는 경우 WordPress를 통해 동일한 DB에 접두사가 있는 테이블을 추가하도록 하여 작업을 단순화합니다.
그런 다음 CodeIgniter의 index.php 파일 상단에 다음 행을 추가합니다.경로를 wp-blog-header로 변경합니다.php는 WordPress 루트 디렉토리를 가리키기 위해 필요합니다.
끝!!이 코드를 사용하면 CodeIgniter 사이트를 벗어나지 않고 WordPress 블로그에 액세스할 수 있습니다.추가 도우미 기능은 WordPress 설명서에서 자세히 설명합니다.
상세보기:CodeIgniter를 WordPress와 통합하는 방법
언급URL : https://stackoverflow.com/questions/17829990/codeigniter-wordpress-integration
'programing' 카테고리의 다른 글
| 각도로 이벤트를 테스트하려면 어떻게 해야 합니까? (0) | 2023.03.14 |
|---|---|
| 스웨거 API 스키마에 대한 JSON 검증 (0) | 2023.03.14 |
| Spring Kafka 클래스가 신뢰할 수 있는 패키지에 없습니다. (0) | 2023.03.14 |
| 파일 업로드:완료된 진행률 표시줄 (0) | 2023.03.14 |
| reactjs의 컨텍스트 API를 통해 상태를 관리하려면 useMemo가 필요합니까? (0) | 2023.03.14 |