Respostas:
Eles estão definidos da seguinte forma:
define( 'ABSPATH', dirname(dirname(__FILE__)) . '/' );
define( 'WPINC', 'wp-includes' );
dirname
é uma função PHP que retorna o caminho do diretório pai e wp-includes
é bastante autoexplicativa.
Eu diria que ABSPATH
é melhor porque é uma das primeiras coisas que o WP carrega e também parece melhor :) Mas não existe um "caminho certo" real, porque ambos funcionam.
if ( ! defined( 'WPINC' ) ) die;
e if ( ! defined( 'ABSPATH' ) ) exit;
adicione uma camada extra de segurança, impedindo qualquer acesso direto ao seu arquivo de plug-in. ABSPATH
é uma constante PHP definida pelo WordPress em seu núcleo.
Se o seu arquivo de plug-in for acessado de fora do WordPress, a constante ABSPATH
ou WPINC
não será definida; portanto, ele sai do código do plug-in, impedindo qualquer acesso não autorizado ao seu código.
ABSPATH
e WPINC
são definidos no núcleo do WordPress como:
define( 'ABSPATH', dirname(dirname(__FILE__)) . '/' );
define( 'WPINC', 'wp-includes' );
Ambos são usados para o mesmo propósito.
Quais são as diferenças entre WPINC e ABSPATH?
Você pode verificar a si mesmo. Basta olhar nowp-load.php
espelho do WordPress no GitHub.
Mesmo uma rápida olhada mostrará que a resposta atualmente selecionada não está mais correta quanto à ABSPATH
definição. E se você comparar diferentes tags no GitHub, verá que a ABSPATH
definição realmente muda com o tempo.
Qual é a maneira 'certa' de fazê-lo?
Dado que estes são usados para segurança, eu aceitaria ABSPATH
. A razão de ser que ABSPATH
não é apenas definida primeiro no bootstrapper do WP, WPINC
é definida sob uma condicional no mesmo arquivo e, como resultado, é mais provável que ocorra uma regressão futura.
Além disso, embora não seja solicitado explicitamente, você forneceu exemplos usando ambos die
e exit
. De acordo com devdocs.io
, que se baseia na documentação oficial da API, die
é equivalente a exit
, então você pode escolher um dos dois e não fará diferença.
Ambos die
e exit
aceitar argumentos, então você poderia considerar usá-los para a saída de algumas informações úteis, como uma versão tag ou contato informações criptografadas, ao abend, ou passar um código de saída, como 0
ou -1
para processamento posterior.
Também digno de nota é que wp_die
isso também é uma coisa. Não deve ser confundido com os built-ins do PHP, mas complementa-os pelo uso de saída de HTML, além de texto sem formatação e é usado liberalmente em todo o núcleo do WordPress atualmente. Saiba mais sobrewp_die
no WordPress.org.
if ( ! defined( 'ABSPATH' ) ) exit;
... mas, talvez, considere que o escopo deste snippet é garantir que o wordpress seja carregado 'WPINC' é melhor porque é mais cheio de wordpress com o 'WP'.