web-dev-qa-db-fra.com

Quel est le meilleur moyen d'inclure un fichier dans WordPress?

Auparavant, j’ai construit des applications Web simples à l’aide de fonctions "include" et, en général, j’utilise cette commande:

<?php include($_SERVER["DOCUMENT_ROOT"] . "/data.php"); ?>

Cela a très bien fonctionné en dehors de WordPress, mais ma question est la suivante: ceci peut-il être appliqué à un environnement WordPress?

(je devrais ajouter la raison pour laquelle je le fais: c'est parce que je dois charger un fichier d'environ 2 Mo dans un modèle WordPress et qu'il se bloque à chaque fois que j'essaie de sauvegarder le fichier).

1
henry

Vous pouvez inclure les fichiers PHP dans WordPress de la même manière que vous le faites n'importe où ailleurs.

Cependant, WordPress propose davantage de constantes et de fonctions pour définir un chemin pour la fonction include().

Au lieu d'utiliser $_SERVER["DOCUMENT_ROOT"], déplacez votre fichier PHP vers le dossier de votre thème et utilisez-le pour l'inclure:

require_once ( get_template_directory() . "/data.php"); 

La raison pour déplacer le fichier dans le dossier du thème est à la fois pour la sécurité et l'organisation. Maintenant, utilisez ceci dans la toute première ligne de votre fichier data.php:

if ( ! defined( 'ABSPATH' ) ) die();

Cela empêchera l'accès direct à votre script PHP en entrant l'URL. ABSPATH est une constante de WordPress principale, et si elle n'est pas définie, cela signifie que votre script est probablement utilisé directement.

De plus, pour éviter des conflits accidentels en incluant le fichier plusieurs fois, je vous suggère d'utiliser plutôt require_once().

2
Jack Johansson