Qual é a maneira correta de usar as funções do WordPress fora dos arquivos do WordPress?

Eu leio cerca de 2 methods para inicializar a function do WordPress fora dos arquivos do WordPress para que possamos usar essas funções em qualquer página ou site fora do blog do WordPress.

Qual destes dois methods é o correto? Quais são os casos de uso para cada método se ambos estiverem corretos? Qual é a deferência entre usar um método ou o outro?

Método 1:

 

Método 2:

  

Solutions Collecting From Web of "Qual é a maneira correta de usar as funções do WordPress fora dos arquivos do WordPress?"

Há pouca diferença entre os arquivos. Quando você visualiza uma página do WordPress, o primeiro arquivo chamado index.php . E é, essencialmente, o seu “Método 1:”

 define('WP_USE_THEMES', true); /** Loads the WordPress Environment and Template */ require ('./wp-blog-header.php'); 

O arquivo de header do blog (que wp-load.php o resto do WordPress) carrega o wp-load.php diretamente e triggers o WordPress. Aqui está a maior parte do 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' ); } 

Então, a diferença entre os dois methods é … o que está carregado.

O método 1 é exatamente o que o WordPress faz para se carregar (com exceção de desativar os temas). Então, se você precisar de todo o WordPress e quiser triggersr todos os ganchos / ações padrão, vá com essa rota.

O método 2 é apenas mais um passo na linha. Ele carrega tudo do WordPress, mas não chama wp() ou invoca o carregador do modelo (usado por temas). O método 2 será um pouco mais leve, mas deve dar-lhe a mesma funcionalidade.

Método 2 da sua pergunta:

 < ?php define( 'WP_USE_THEMES', false ); // Don't load theme support functionality require( './wp-load.php' ); 

wp-load.php é o access a todas as funções do WordPress, isso é tudo. A primeira linha diz ao WordPress que carregue não os arquivos do Tema; talvez os arquivos sejam necessários para seus requisitos, em seguida, remova a linha.

Às vezes, carregar as funções.php do tema pode causar alguns problemas. Estava rompendo o html da minha outra página. Então é o que eu fiz e resolvi meu problema:

 define('STYLESHEETPATH', ''); define('TEMPLATEPATH', ''); require_once(RAIZ_WORDPRESS."/wp-load.php"); 

wp-blog-header.php appendá um status de header, ele retornará um código de status http de 404

wp-load.php não

Útil para anotar ao usar ajax conforme ele verifica o código de status http

@ ninja08

Podemos usar a extensão xDebug php para analisar um script.

apenas habilite ;xdebug.profiler_enable = 1 em seu arquivo php.ini removendo ; da primeira linha e após este reiniciar o servidor apache e executar o seu site wordpress … agora um arquivo criado no diretório tmp do seu servidor xampp. Ouça esse arquivo com o aplicativo WincachGrind .

agora você pode ver um mapa do seu roteiro

WincacheGrind Simple WordPress Analyze