Quelqu'un peut-il me dire si l'une ou l'autre de ces méthodes présente un avantage sur l'autre et pourquoi?
$mydir = ABSPATH.'/wp-content/themes/mytheme/images';
$mydir = dirname(__FILE__).'/images';
Ils peuvent tous deux être utilisés pour obtenir un chemin absolu vers le répertoire images de "mytheme", quelle que soit la structure de Wordpress installée sur le répertoire racine ou dans un sous-répertoire de la racine. Dans les deux cas, ils sont appelés à partir du fichier functions.php situé dans le dossier "mytheme".
Personnellement, je préférerais dirname()
car il est toujours garanti que le résultat sera correct, alors que la méthode ABSPATH repose sur un chemin et un nom de thème fixes qui peuvent tous deux changer.
En passant, vous pouvez utiliser __DIR__
au lieu de dirname(__FILE__)
.
ABSPATH
) n'est pas recommandée. Voir l'article Détermination des répertoires de plug-in et de contenu WordPress Codex.Depuis PHP 4.0.2, les liens symboliques sont en cours de résolution pour les constantes magiques __FILE__
et __DIR__
, tenez-en compte.
Ligne inférieure : Pour déterminer le chemin absolu d'un répertoire de thèmes, je suggérerais d'utiliser la fonction get_template_directory()
qui applique également applique des filtres et combine en interne get_theme_root()
et get_template()
.
Je choisirais dirname(__FILE__)
pour mes propres projets. Il existe également une nouvelle constante en PHP:
__DIR__ === dirname(__FILE__)
ABSPATH est défini variable -> définir ("ABSPATH", __FILE__
); Si j'utilise directement la constante magique __FILE__
.il produira le même résultat.
Dans CMS, ABSPATH et l'utilisation de framework, BASEPATH est utilisé pour obtenir des informations sur la racine sous forme de variable définie. Finalement, avec l'aide des deux, nous obtenons le même résultat précis.