커스텀 .php 파일에 WordPress 함수를 포함하려면 어떻게 해야 합니까?
커스텀 .php 파일에 WordPress 함수를 포함하려면 어떻게 해야 합니까?
상세:내 테마(컨스트럭터) 아래에 보고서라는 이름의 디렉토리가 있습니다.여기에는 다운로드용 DOMPDF를 사용하여 사이트의 데이터에서 보고서를 생성하는 .php 파일이 포함되어 있습니다.예를 들어 WordPress 엔진이 제공하는 기능을 사용하고 싶습니다.get_the_author_meta( 'user_firstname', $user_id )
이것들을 사용하면, (자연스럽게) 다음의 에러가 발생합니다.
치명적인 오류: 15번째 줄에서 ROOT/public_html/wp-content/temes/constructor/reports/testreport.php의 정의되지 않은 함수 get_the_author_meta()를 호출합니다.
wp-blog-header.php를 포함시켜야 한다고 생각했습니다.require_once("../../../../wp-blog-header.php");
이 경우, 다음의 404 에러가 표시됩니다.
웹 주소: ROOT/wp-content/temes/constructor/reports/test report에 대한 웹 페이지를 찾을 수 없습니다.php
(요건은 올바른 경로를 가리킵니다.조작하면 경고 메시지가 나타납니다.require_once(../../../wp-blog-header.php): 스트림을 열지 못했습니다.따라서 경로가 정확해야 합니다.)
제가 간과하고 있는 게 있나요?왜 이 wp파일을 포함할 수 없나요?wp 함수를 포함하는 올바른 방법은 무엇입니까?
도와줘서 고마워, 시로
당신은 잘하고 있어요.대신 다음을 시도해 보십시오.
require_once("../../../../wp-load.php");
커스텀 .php 파일에서 wp 함수를 사용하려면 다음을 포함해야 합니다.wp-load.php
파일을 참조하십시오.이 작업을 수행하려면 다음 행을 추가합니다.
require_once(PATH_TO.'/wp-load.php');
WordPress가 대신 문서 루트 추가에 있는 경우:
require_once($_SERVER['DOCUMENT_ROOT'].'/wp-load.php');
새로운 버전의 PHP가 설치되어 있는 경우(ver > = 5.5.x), WordPress 웹사이트 디렉토리 자체의 루트 스크립트에서 다음 코드를 시도할 수도 있습니다.
<?php
define("WP_ROOT", __DIR__);
define("DS", DIRECTORY_SEPARATOR);
require_once WP_ROOT . DS . "wp-load.php";
또는
<?php
define("WP_ROOT", __DIR__);
define("DS", DIRECTORY_SEPARATOR);
require_once WP_ROOT . DS . "wp-blog-header.php";
이것은 보다 직접적이고 깨끗한 접근법이며 수동으로 슬래시를 추가하거나 다음 방법으로 세부사항을 변경할 필요가 없습니다...
.
이게 도움이 됐으면 좋겠네요.
require_once(dirname(__FILE__) . '/options.php');
이것은 WordPress에 파일을 포함시키는 더 좋은 방법입니다.
외부 파일은 WordPress 기능에 쉽게 액세스할 수 있습니다.파일만 포함하면 됩니다.wp-load.php
를 참조해 주세요.그wp-load.php
파일은 WordPress 설치 루트에 있습니다.예:파일이 다음과 같다고 가정합니다.test.php
WordPress 설치 루트 디렉터리에 있습니다.
<?php
require_once('wp-load.php');
// Your custom code
?>
출처: 외부 파일의 WordPress 기능에 액세스하는 방법
이 방법을 사용하여 WordPress 외부에서 WordPress 환경을 로드합니다.
if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/wp-load.php')) {
/** Loads the WordPress Environment and Template */
require_once($_SERVER['DOCUMENT_ROOT'] . '/wp-load.php');
}
언급URL : https://stackoverflow.com/questions/15304926/how-to-include-wordpress-functions-in-custom-php-file
'source' 카테고리의 다른 글
사설 컨스트럭터에 테스트 적용 범위를 추가하려면 어떻게 해야 합니까? (0) | 2023.01.29 |
---|---|
MySQL 일치 관련성 점수가 "DOUBLE 값이 범위를 벗어났습니다" 오류를 발생시킵니다. (0) | 2023.01.29 |
JavaScript에서 연관지을 수 있는 어레이/해시를 실행하는 방법 (0) | 2023.01.29 |
null 인수에 대한 메서드 오버로드 (0) | 2023.01.29 |
mariaDB - 사용자에게 권한 부여 오류 (0) | 2023.01.29 |