Soluções

Como incluir o wp-load.php do WordPress sem erro “failed to open stream”

Google+ Pinterest LinkedIn Tumblr
Anúncios Google

Dica rápida para resolver um problema que me atormentou demais nos últimos dias. Às vezes precisamos incluir funções externas em nossos blogs – estarão fora da instalação do WordPress – então cria-se uma chamada pelo arquivo wp-load.php, que fica na pasta-raíz. Ele fará a “integração” entre a função e a base do WordPress, garantindo o funcionamento adequado. É comum ver o uso do wp-load em temas e até certos plugins embutidos em temas.

Acontece que a chamada pode ter sido feita pelo caminho relativo, aquele usando dois pontos e barra (../) para indicar a subida de um nível na hierarquia das pastas. Se o plugin tiver uma instalação incomum e o caminho relativo mudar, adeus funcionamento, pois o wp-load não será mais encontrado.

Descobri com o desenvolvedor Frankie Jarret como chamar o wp.load do jeito certo. Pelo menos pra mim funcionou perfeitamente.

Uma chamada “errada” seria algo parecido com isso:

<?php require_once('../../../../../wp-load.php'); ?>

Nesse modelo, substitua por isso:

<?php 
$parse_uri = explode('wp-content', $_SERVER['SCRIPT_FILENAME']);
require_once($parse_uri[0] . 'wp-load.php');
?>

É tiro e queda (pra mim foi ;)). Funciona tanto para o require quanto para o include. Só não deve funcionar se sua instalação tiver pastas com nome fora do padrão, principalmente a wp-content.

Anúncios Google

Fundador do Tutoriart em 2010, é ex-instrutor de Photoshop, design web e gráfico. Em quase uma década de redação online, tem cerca de 1500 artigos publicados. Gerencia também o Memória BIT.

Write A Comment

Pin