WordPress 파일 외부에서 WordPress 기능을 사용하는 올바른 방법은 무엇입니까?
-
-
"WP 외부"를 사용하려는 WP 기능은 무엇이며 그 이유는 무엇입니까?이 방법 중 하나는 여전히 WP 환경을로드하므로 (테마 지원이 없더라도) WP 내부에서 * 여전히 * 함수를 호출합니다.Which WP functions are you trying to use "outside of WP" and why? Either of these methods will still load the WP environment (albeit without theme support), so you're *still* invoking functions inside of WP.
- 0
- 2012-03-27
- EAMann
-
나는 두 가지 방법의 차이점을 이해하려고 노력하고 있습니다.내가 할 일은 wordpress 테마를 내 지원 스크립트와 통합하는 것입니다.따라서 wordpress의 머리글,바닥 글 및 루프와 위젯 및 기타 플러그인에 대한 일부 지원이 필요합니다.I am trying to understand the difference between the 2 methods. What I will do is integrate the wordpress theme with my support script. so will need the header, footer and the loop from wordpress plus some support for widgets and other plugins
- 0
- 2012-03-27
- alhoseany
-
나는 이것이 당신이 원하는 방식이라고 정말로 의심합니다 ... WordPress 자체를 부트 스트랩하는 것보다 더 나은 솔루션이 있습니다.I really doubt this is the way you want to do things ... there are better solutions than trying to bootstrap WordPress itself.
- 0
- 2012-03-27
- EAMann
-
나는 제안을 위해 활짝 열려 있고,최선의 방법을 찾고 있습니까?워드 프레스 테마를 외부 웹 애플리케이션과 통합하는 가장 좋은 방법은 무엇입니까?I am wide open for suggestions, I am looking for the best way to do things? what is the best way to integrate wordpress theme with outside web application?
- 0
- 2012-03-28
- alhoseany
-
6 대답
- 투표
-
- 2012-03-27
파일간에 약간의 차이가 있습니다. WordPress 페이지를 볼 때 호출되는 첫 번째 파일은
index.php
입니다. 기본적으로 "방법 1 :"입니다.define('WP_USE_THEMES', true); /** Loads the WordPress Environment and Template */ require ('./wp-blog-header.php');
블로그 헤더 파일 (WordPress의 나머지 부분을 큐에 넣음)은
wp-load.php
를 직접로드하고 WordPress 자체를 실행합니다. 다음은 대부분의wp-blog-header.php
입니다.if ( !isset($wp_did_header) ) { $wp_did_header = true; require_once( dirname(__FILE__) . '/wp-load.php' ); wp(); require_once( ABSPATH . WPINC . '/template-loader.php' ); }
두 방법의 차이점은 ...로드되는 것입니다.
방법 1은 WordPress가 자체적으로로드하기 위해 수행하는 작업입니다 (테마를 해제하는 경우 제외). 따라서 WordPress가 모두 필요하고 모든 기본 후크/작업을 실행하려면 해당 경로를 사용하세요.
방법 2는 다음 단계에 불과합니다. 모든 WordPress를로드하지만
wp()
를 호출하거나 템플릿 로더 (테마에서 사용)를 호출하지 않습니다. 방법 2는 약간 더 가볍지 만 동일한 기능을 제공합니다.There's little difference between the files. When you view a WordPress page, the first file called is
index.php
. And it is, essentially, your "Method 1:"define('WP_USE_THEMES', true); /** Loads the WordPress Environment and Template */ require ('./wp-blog-header.php');
The blog header file (that queues up the rest of WordPress) loads
wp-load.php
directly and fires up WordPress itself. Here's most ofwp-blog-header.php
:if ( !isset($wp_did_header) ) { $wp_did_header = true; require_once( dirname(__FILE__) . '/wp-load.php' ); wp(); require_once( ABSPATH . WPINC . '/template-loader.php' ); }
So the difference between your two methods is ... what's loaded.
Method 1 is exactly what WordPress does to load itself (with the exception of turning themes off). So if you need all of WordPress and want to fire all of the default hooks/actions, go with that route.
Method 2 is just a further step down the line. It loads all of WordPress, but doesn't call
wp()
or invoke the template loader (used by themes). Method 2 will be a little lighter-weight, but should give you the same functionality.-
이 모든 파일을 매핑하는 다이어그램이나 무언가가 있습니까?오래 전에 봤지만 찾을 수 없습니다.Is there a diagram or something that maps all these files out? I saw one long ago but I can't find it.
- 3
- 2015-06-12
- ninja08
-
- 2012-03-27
질문의 방법 2 :
<?php define( 'WP_USE_THEMES', false ); // Don't load theme support functionality require( './wp-load.php' );
wp-load.php
는 WordPress의 모든 기능에 대한 액세스 권한입니다.첫 번째 줄은 WordPress에 테마 파일이 아닌로드하도록 지시합니다.요구 사항에 파일이 필요한 경우 줄을 제거하십시오.Method 2 from your question:
<?php define( 'WP_USE_THEMES', false ); // Don't load theme support functionality require( './wp-load.php' );
wp-load.php
is the access to all functions of WordPress, that's all. The first line tells WordPress to load not the Theme files; maybe the files are necessary for your requirements, then remove the line.-
그 첫 번째 줄은 무엇을 의미합니까?what does that first line even means ?
- 1
- 2012-03-27
- Sagive SEO
-
첫 번째 줄은 WordPress에 모든 테마 지원 기능을로드하지 않도록 지시합니다.기본적으로 적은 수의 파일을로드합니다.The first line tells WordPress not to load all of its theme support functionality. Basically, load fewer files.
- 8
- 2012-03-27
- EAMann
-
첫 번째 줄은 첫 번째 방법에만 필요합니까?Is the first line needed only for the first method?
- 0
- 2014-10-05
- mcont
-
- 2016-04-11
wp-blog-header.php는 헤더 상태를 첨부하고 http 상태 코드 404를 반환합니다.
wp-load.php는 그렇지 않습니다
http 상태 코드를 확인할 때 ajax를 사용할 때 유용합니다.
wp-blog-header.php will attached a header status, it will return a http status code of 404
wp-load.php will not
Useful to note when using ajax as it checks the http status code
-
- 2015-10-27
때때로 테마의functions.php를로드하면 문제가 발생할 수 있습니다.내 다른 페이지의 html을 깨고있었습니다.그래서 제가 한 일이고 문제를 해결했습니다.
define('STYLESHEETPATH', ''); define('TEMPLATEPATH', ''); require_once(RAIZ_WORDPRESS."/wp-load.php");
Sometimes loading the functions.php of the theme can cause you some trouble. It was breaking the html of my other page. So that's what I did and solved my problem:
define('STYLESHEETPATH', ''); define('TEMPLATEPATH', ''); require_once(RAIZ_WORDPRESS."/wp-load.php");
-
- 2015-12-14
@ninja08
xDebugphp 확장을 사용하여 스크립트를 분석 할 수 있습니다.
첫 줄에서
;xdebug.profiler_enable = 1
를 제거하여php.ini
파일에서;
을 활성화하십시오. 그리고 아파치 서버를 다시 시작한 후 워드 프레스 사이트를 실행하십시오. 이제 xampp 서버의tmp 디렉토리에 생성 된 파일이 WincachGrind 애플리케이션이제 스크립트 맵을 볼 수 있습니다.
@ninja08
We can use xDebug php extension to analyze an script.
just enable
;xdebug.profiler_enable = 1
in yourphp.ini
file by removing;
from first of line and after this restart apache server and run your wordpress site ...now a file created in tmp directory of your xampp server ..open this file with WincachGrind application.now you can see a map of your script
-
ninja08 아래의 주석에 이것을 추가해야합니다.이것은 이제 잘못된 대답입니다.You should have added this in the comment below ninja08. this is now an incorrect answer.
- 0
- 2015-12-15
- alhoseany
-
@alhoseany yes..i 지금은 ...하지만 나는 충분한 명성을 얻지 못했으며 ... 그리고 이것을하기로 결정했습니다.@alhoseany yes..i now it... but i dont have enough reputation...and then i decide to do this.
- 2
- 2015-12-15
- Mostafa
-
- 2020-05-07
함수를 사용하기 위해 전체 테마를 호출 할 필요는 없습니다. 워드 프레스 디렉토리에서 wp-load.php의 위치를 사용하면됩니다.
<?php require($_SERVER['DOCUMENT_ROOT'] . '/wordpress/wp-load.php'); ?>
You don't have to call the entire theme to use functions, just use the location for wp-load.php in wordpress directory.
<?php require($_SERVER['DOCUMENT_ROOT'] . '/wordpress/wp-load.php'); ?>
워드 프레스 파일 외부에서 워드 프레스 기능을 초기화하는 두 가지 방법에 대해 읽었으므로 워드 프레스 블로그 외부의 모든 페이지 또는 웹 사이트에서 이러한 기능을 사용할 수 있습니다.
이 두 가지 방법 중 올바른 방법은 무엇입니까?둘 다 올바른 경우 각 방법의 사용 사례는 무엇입니까?한 가지 방법을 사용하는 것의 차이는 무엇입니까?
방법 1 :
방법 2 :