La bonne façon d'inclure / d'exiger des fichiers PHP dans WordPress
-
-
Veuillez consulter les liens quipourraient être utiles http://wordpress.stackexchange.com/questions/111628/include-a-external-php-file-into-a-wordpress-custom-template http://wordpress.stackexchange.com/questions/7398/how-to-include-php-files-in-plugins-the-correct-wayPlease have look at links, might be helpful http://wordpress.stackexchange.com/questions/111628/include-a-external-php-file-into-a-wordpress-custom-template http://wordpress.stackexchange.com/questions/7398/how-to-include-php-files-in-plugins-the-correct-way
- 0
- 2015-10-27
- jas
-
2 réponses
- votes
-
- 2015-10-27
Si vous cochez https://codex.wordpress.org/Function_Reference/get_template_directory_uri
Vous verrez que
get_template_directory_uri()
renvoie un uri,pas un chemin de serveur.Vous devriez utiliser à laplace lafonction
get_template_directory()
:include get_template_directory() . 'subdir/filename.php';
Pour unplugin,vouspouvez utiliser lafonction
plugin_dir_path()
:include plugin_dir_path( __FILE__ ) . 'subdir/filename.php';
If you check https://codex.wordpress.org/Function_Reference/get_template_directory_uri
You will see
get_template_directory_uri()
returns a uri, not a server path.You should use instead the
get_template_directory()
function:include get_template_directory() . 'subdir/filename.php';
For a plugin you can use the
plugin_dir_path()
function:include plugin_dir_path( __FILE__ ) . 'subdir/filename.php';
-
Jetiens ànoter que celaestprincipalement destiné à localiser des chemins dans leplugin _arbitrary_.À l'intérieur duplugin _specific_,les chemins relatifs sont connuset lesinclusions PHP debase (sans aucunbit WP) sont unepratiquenormale.I want to note that this is mostly intended for locating paths in _arbitrary_ plugin. Within inside of _specific_ plugin the relative paths are known and basic PHP includes (sans any WP bits) are a normal practice.
- 0
- 2015-10-27
- Rarst
-
Avec un commentaire raciste,j'ai réalisé quema réponse étaitpour lesplugins,paspour lesthèmes.Pour lesthèmes,utilisezget_template_directory () au lieu deget_template_directory_uri ().Facile!With Rarst comment i realized my anwser is for plugins, not themes. For themes, use get_template_directory() instead of get_template_directory_uri(). Easy!
- 0
- 2015-10-27
- thomascharbit
-
vous voudrezpeut-êtreessayer -/subdir/filename.php?you might want to try - /subdir/filename.php?
- 0
- 2019-04-15
- Jon
-
- 2019-05-14
WordPress 4.7+introduit lesfonctionsget_theme_file_path ()pourinclure lefichier sur lethème WordPress.
Incluez comme ceci:
include get_theme_file_path( '/subdir/filename.php' );
L'avantage d'utiliser cettefonctionest que sur lethèmeenfant,vouspouvez remplacer lefichier dethèmeparent.
Référence: https://developer.wordpress.org/reference/functions/get_theme_file_path/
WordPress 4.7+ introduce get_theme_file_path() functions to include file on WordPress theme.
Include like this:
include get_theme_file_path( '/subdir/filename.php' );
The advantage of using this function is on child theme you can override the parent theme file.
Reference : https://developer.wordpress.org/reference/functions/get_theme_file_path/
-
Exactement ce queje cherchais!Cela devrait être labonne réponsemaintenant.Exactly what I was looking for! This should be the correct answer now.
- 0
- 2019-08-23
- Oneezy
Je suis unnouveau développeur WordPresset j'ai récemment rencontré desproblèmes (surplusieurs sites) avec
include_once
etrequire_once
pour lesfichiers PHP.Sij'inclus(get_theme_directory_uri() . 'subdir/file')
lefichier spécifiéestinclus (ou requis,ce qui conduit à deserreursfatales)mais si desfonctions WordPress sont appelées dans 'file',j'obtiens quelque chosesimilaire à:La solution apparente quej'aitrouvéeest defaire:
Est-ce correct ou ai-jemanqué la «méthode WordPress»pourinclure desfichiers quelquepart?