web-dev-qa-db-fra.com

Problème nécessitant/comprenant des fichiers de plugin avec plugin_dir_path (__FILE__)

J'essaie d'écrire un plug-in WordPress. Dans mon projet, j'ai trois fichiers PHP.

  1. Mon fichier de plug-in
  2. Widget pour le plug-in
  3. Installation de données

J'ai besoin d'installer la table de données lors de l'activation du plug-in. Dans cet esprit, j'ai écrit du code pour créer une table pour mon plug-in dans le fichier d'installation de données. Mais je ne suis pas capable de créer une table de données en utilisant ce fichier.

Mon code pour inclure le fichier d'installation de données et le fichier de widget dans mon fichier de plug-in est

define ( 'OTHER_FILES_PATH', plugin_dir_path( __FILE__ ) );
require_once( OTHER_FILES_PATH . '/data_installation.php' );
require_once( OTHER_FILES_PATH . '/plugin_widget.php' );

Mon problème est que lorsque je mets mon code d'installation de données dans mon fichier de plug-in, il fonctionne correctement, mais lorsque je le mets dans un fichier séparé (installation de données), je ne parviens pas à créer de tables pour mon plug-in.

S'il vous plaît laissez-moi savoir si je fais une erreur.

4
Bushra Shahid

Lorsque vous utilisez plugin_dir_path() comme vous le faites:

plugin_dir_path( __FILE__ );

Cela retourne quelque chose comme:

/var/www//wordpress/wp-content/plugins/your-plugin/

Donc, il ajoute une barre oblique, car comme le dit la documentation:

C'est un wrapper pour trailingslashit( dirname( $file ) );.

Donc, supprimez la barre oblique avant le fichier dans vos appels:

require_once plugin_dir_path( __FILE__ ) . 'file.php';
4
Nicolai