Wordpress如何确定“主插件文件”?
插件中包含插件标题注释的文件
/**
* Plugin Name: A fresh example
* Plugin URI: http://example.com
* Description: Foo makes a bar
* Version: 2012-06-14.1426
* Author: John Doe
* Author URI: http://example.com
* TextDomain: your_textdomain
* License: MIT
* LicenseURI: http://www.opensource.org/licenses/mit-license.php
*/
问题1:拥有这样的插件是否合法/受支持:
是的每个目录结构(只要服务器支持)都是合法的。
问题2:如果是这样,wordpress如何确定哪个php文件是主插件文件?
见上文↑
问题3:当PHP代码跨越多个模块时,是否需要使用子目录(如上例中的inc/)?
要求不,读起来更好:是的。易于维护:也是。
问题4:主插件目录中最多应该有一个php文件,这是真的吗?
不,只是不。
总结一下,您组织文件和目录的方式完全取决于您、您的个人喜好,而不是其他。如果您想让维护和其他开发人员更容易地逐步完成您的代码,那么您应该使用某种文件/目录组织。
示例
我个人附加
.class.php
作为延伸,当我上了一节课。我还将我的文件命名为与类完全相同的名称。原因很简单:我的“主插件文件”-这是我的
bootstrap
类,通常关心加载所有需要的内容。
// inside my PREFIX_bootstrap class:
public static $includes = array(
\'settings\' => false // Parent class - no need to hook
,\'settings_extended\' => true // Extending class - hooks static init() on `init` hook
);
public function construct()
{
// The prefix for every class in my plugin
$prefix = \'my_class_prefix_\';
foreach ( $this->files as $handle => $hook )
{
require_once plugin_dir_path( __FILE__ )."{$handle}.class.php";
if ( ! $hook )
continue;
$class = $prefix.$handle;
class_exists( $class ) AND add_action( \'init\', array( $class, \'init\' ), 1 );
}
}
这意味着我的类和文件的命名如下:
settings.class.php
和settings_extended.class.php
my_class_prefix_settings
和my_class_prefix_settings_extended
我还做一些基本的目录组织,比如存储所有
js/css/img
名为这样的目录中的文件。
有些人使用(对于较大的插件)名为inc/includes/assets/extensions/lib/etc.
. 我建议只对大型插件使用子文件夹。如果你有额外的东西,比如小部件等,那么你可以为它们使用特定的子文件夹。
Last word: 不,你发现的都不是真的,那些(就像我给你看的东西)只是建议。