사용자 지정 .php 파일에 WordPress 기능을 포함하는 방법은 무엇입니까?
사용자 지정 .php 파일에 WordPress 기능을 어떻게 포함시킬 수 있습니까?
자세히 : 내 테마 (생성자) 아래에 reports라는 디렉토리가 있습니다. 여기에는 다운로드를 위해 DOMPDF가있는 사이트의 데이터에서 보고서를 생성하는 .php 파일이 포함되어 있습니다. 이를 위해 예를 들어 WordPress 엔진이 제공하는 기능을 사용하고 싶습니다 get_the_author_meta( 'user_firstname', $user_id )
. 이것을 사용하면 (자연스럽게) 다음 오류가 발생합니다.
치명적인 오류 : 15 행의 ROOT / public_html / wp-content / themes / constructor / reports / testreport.php의 정의되지 않은 함수 get_the_author_meta () 호출
나는 wp-blog-header.php를 포함해야한다고 믿게되었습니다. 나는 require_once("../../../../wp-blog-header.php");
. 이것으로 다음과 같은 404 오류가 발생합니다.
웹 주소에 대한 웹 페이지가 없습니다 : ROOT / wp-content / themes / constructor / reports / testreport.php
(필요한 경로가 올바른 경로를 가리 킵니다.이 작업을 수행하면 Warning : require_once (../../../ wp-blog-header.php) : failed to open stream ... 따라서 경로는 맞습니다.)
내가 간과하는 것이 있습니까? 이 WP 파일을 포함 할 수없는 이유는 무엇입니까? wp 함수를 포함하는 올바른 방법은 무엇입니까?
도와 주셔서 감사합니다, Sziro
당신은 올바른 길을 가고 있습니다. 대신 이것을 시도하십시오.
require_once("../../../../wp-load.php");
워드 프레스가 문서 루트라면 점없는 더 전문적인 방법 :
require($_SERVER['DOCUMENT_ROOT'].'/wp-load.php');
누군가가 최신 PHP 버전을 설치 한 경우 (버전> = 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
파일은 워드 프레스 설치의 루트에 있습니다. 예 : 파일이 test.php
WordPress 설치의 루트 디렉토리에 있다고 가정합니다 .
<?php
require_once('wp-load.php');
// Your custom code
?>
출처 : 외부 파일에서 WordPress 기능에 액세스하는 방법
참조 URL : https://stackoverflow.com/questions/15304926/how-to-include-wordpress-functions-in-custom-php-file
'program tip' 카테고리의 다른 글
가비지 수집기 및 순환 참조 (0) | 2020.12.15 |
---|---|
메모장 ++에서 현재 줄을 삭제하고 새 줄을 추가하는 방법은 무엇입니까? (0) | 2020.12.15 |
암시 적으로 'string'형식을 'System.Threading.Tasks.Task로 변환 할 수 없습니다. (0) | 2020.12.14 |
Laravel이 블레이드 템플릿의 모든 HTML을 이스케이프 (0) | 2020.12.14 |
누락 된 문자가있는 단어를 찾기위한 좋은 알고리즘 및 데이터 구조? (0) | 2020.12.14 |