WordPress
get_home_path ()
수색…
소개
절대 파일 시스템 경로를 WordPress 설치 루트로 가져옵니다.
매개 변수
매개 변수 | 세부 |
---|---|
없음 | 이 함수는 매개 변수를 허용하지 않습니다. |
비고
get_home_path()
와 ABSTPATH
중요한 차이점
하위 폴더에 WordPress가 설치된 경우 ABSPATH
와 get_home_path()
사이의 차이점을 명심하십시오.
get_home_path()
함수는 항상 하위 폴더가 없는 경로 를 반환합니다.
- http://www.example.com - / var / www / htdocs / example
- http://www.example.com/wp - / var / www / htdocs / example
이것은 다른 값을 반환하는 ABSPATH
와 다른 점입니다.
- http://www.example.com - / var / www / htdocs / example
- http://www.example.com/wp - / var / www / htdocs / example / wp
ABSPATH
는 wp-load.php
에서 처음 정의되며 /var/www/htdocs/example/wp/wp-load.php
따라서 ABSPATH
에서 정의를 가져옵니다.
get_home_path()
는 site_url
과 home_url
다른지 확인하고 경로에서 하위 문자열을 제거합니다. 그렇지 않으면 ABSPATH
값을 반환합니다.
function get_home_path() {
$home = set_url_scheme( get_option( 'home' ), 'http' );
$siteurl = set_url_scheme( get_option( 'siteurl' ), 'http' );
if ( ! empty( $home ) && 0 !== strcasecmp( $home, $siteurl ) ) {
$wp_path_rel_to_home = str_ireplace( $home, '', $siteurl ); /* $siteurl - $home */
$pos = strripos( str_replace( '\\', '/', $_SERVER['SCRIPT_FILENAME'] ), trailingslashit( $wp_path_rel_to_home ) );
$home_path = substr( $_SERVER['SCRIPT_FILENAME'], 0, $pos );
$home_path = trailingslashit( $home_path );
} else {
$home_path = ABSPATH;
}
return str_replace( '\\', '/', $home_path );
}
코드에서 사용하기
get_home_path()
호출은 wp-admin/includes/file.php
가 이미 wp-admin/includes/file.php
된 컨텍스트에서 수행되어야합니다.
예를 들어, admin_init
훅 내에서 get_home_path()
사용하는 것은 괜찮지 만 init
내에서이를 사용하면 PHP의 치명적인 오류가 발생합니다.
Call to undefined function get_home_path()
이 파일은 admin (대시 보드) 컨텍스트 내에서만 포함됩니다.이 컨텍스트 외부에서 절대적으로 필요하면이 함수를 호출하기 전에 파일을 직접 포함해야합니다.
require_once(ABSPATH . 'wp-admin/includes/file.php');
용법
$path = get_home_path();
반환 값 :
string
하위 폴더에 설치되어있는 경우에도 WordPress 설치의 루트에 대한 전체 파일 시스템 경로.
예:
/var/www/htdocs/example