Multiple files in a plugin

时间:2012-11-12 作者:largo

我正在尝试编写一个包含多个文件的插件。我确信我以前做过,没有问题,但现在我在这个问题上遇到了问题。

在主插件文件中,我包含了一个文件名-ydp-includes.php. 的内部ydp-includes.php 我包括了我想要的所有文件,如下所示:

<?php
include(dirname( __FILE__ ) .\'/1.php\');
include(dirname( __FILE__ ) .\'/2.php\');
include(dirname( __FILE__ ) .\'/3.php\');
include(dirname( __FILE__ ) .\'/4.php\');
?>
但我得到了:

致命错误:调用未定义的函数add\\u action()。

这些文件都包含在内,但由于我目前看不到的原因,WordPress没有将它们视为一个插件包,其中的每个WordPress函数都被忽略了。

有没有另一种开发多文件WordPress插件的最佳实践方法?我做错了什么?

3 个回复
SO网友:fuxia

只有在未加载WordPress的情况下根据HTTP调用文件时,才会发生这种情况。这是你永远不应该做的事情,因为插件URL可能是另一个Cookie不再工作的域。

SO网友:Simon Blackbourn

通常,插件文件夹中只有一个PHP文件,然后是一个子文件夹,其中包含所有必需的PHP文件。我在主文件中使用以下代码自动包括在inc目录中找到的所有文件:

foreach ( glob( dirname( __FILE__ ) . \'/inc/*.php\' ) as $file ) {
    require $file;
}

SO网友:Shankar

Try this

<?php
include( plugin_dir_path( __FILE__ ) . \'/1.php\');
include( plugin_dir_path( __FILE__ ) . \'/2.php\');
include( plugin_dir_path( __FILE__ ) . \'/3.php\');
include( plugin_dir_path( __FILE__ ) . \'/4.php\');
?>
结束