web-dev-qa-db-fra.com

Lien vers un fichier dans le répertoire du plugin à partir du modèle wordpress?

Je sais que les plugins et les fichiers de thème doivent rester séparés, mais pour un usage interne, je dois le faire de cette façon.

Dans mon fichier header.php de themes, je souhaite inclure un fichier php contenant uniquement du code HTML, à partir du répertoire de mon plugin.

Le chemin est en principe /wp-content/plugins/my_plugin/my-html.php

Je n'arrive pas à trouver le code approprié pour que wordpress cherche dans le répertoire des plugins et récupère le fichier my-html.php dans le dossier my_plugin. Je veux inclure ce fichier pour que le code html qu'il contient soit inclus dans le fichier header.php de mon thème.

Quelle serait la meilleure façon de s'y prendre ??

1
Damainman

Dans votre fichier de plugin principal, définissez simplement une constante contenant le chemin du plugin:

$pluginpath = plugin_dir_path( __FILE__ );
define('MY_AWESOME_PLUGIN_PATH', $pluginpath);

Après cela dans votre header.php:

include(MY_AWESOME_PLUGIN_PATH . 'html_file_name.html');
2
gmazzap

Découvrez la fonction plugins_url de WP

<?php
 echo '<img src="' . plugins_url( 'images/wordpress.png' , __FILE__ ) . '" > ';
 ?>

découvrez plus sur le Wordpress Codex

2
Simon

Si le fichier plugins/my_plugin/my-html.php est uniquement destiné à la sortie HTML, vous pouvez le faire comme ceci:

plugins/my_plugin/my-html.php

<?php
function my_output() {
    $html = 'This is some HTML that should go in the header.';
    echo( $html );
}

themes/my_theme/header.php

.
.
.
if( function_exists( 'my_output' ) ) {
    my_output();
}
.
.
.
0
Pat J

Vous pouvez inclure vos fichiers

include '../plugins/my_plugin//plugin.php';

si l'en-tête de votre plugin est dans le bon dossier. .. retourne un dossier dans le contenu de wp, puis allez dans plugins/yourpluginfolder/phpfile.

0
pl4g4