Problema que requer / inclui arquivos de plugins com plugin_dir_path (__FILE__)

4

Estou tentando escrever um plug-in do WordPress. No meu projeto eu tenho três arquivos PHP.

  1. Meu arquivo de plug-in
  2. Widget para o plug-in
  3. Instalação de dados

Eu preciso instalar a tabela de dados na ativação do plug-in. Por esse motivo eu escrevi código para criar tabela para o meu plug-in no arquivo de instalação de dados. Mas eu não sou capaz de criar uma tabela de dados usando este arquivo.

Meu código para incluir o arquivo de instalação de dados e o arquivo widget no meu arquivo de plug-in é

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

Meu problema é quando coloco meu código de instalação de dados no meu arquivo de plug-in, mas quando o coloco em um arquivo separado (instalação de dados) não consigo criar tabelas para o meu plug-in.

Por favor, deixe-me saber se estou cometendo algum erro.

    
por Bushra Shahid 12.08.2015 / 10:36

1 resposta

4

Ao usar plugin_dir_path() como você faz:

plugin_dir_path( __FILE__ );

Ele retorna algo como:

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

Por isso, adiciona uma barra à direita, porque, como diz a documentação:

  

É um wrapper para trailingslashit( dirname( $file ) ); .

Portanto, remova a barra antes do arquivo em suas chamadas:

require_once plugin_dir_path( __FILE__ ) . 'file.php';
    
por Nicolai 12.08.2015 / 11:02