您可以在主题函数中始终包含插件的文件。php文件。当然,您应该将其放入一些合理的结构中,以避免主题因文件和代码而膨胀:)。
您可以使用这样的代码(用于
Carrington theme) 要加载主题文件夹中“plugin”文件夹中包含的所有插件。。。
/**
* Load theme plugins
*
**/
function cfct_load_plugins() {
$files = cfct_files(CFCT_PATH.\'plugins\');
if (count($files)) {
foreach ($files as $file) {
if (file_exists(CFCT_PATH.\'plugins/\'.$file)) {
include_once(CFCT_PATH.\'plugins/\'.$file);
}
// child theme support
if (file_exists(STYLESHEETPATH.\'/plugins/\'.$file)) {
include_once(STYLESHEETPATH.\'/plugins/\'.$file);
}
}
}
}
/**
* Get a list of php files within a given path as well as files in corresponding child themes
*
* @param sting $path Path to the directory to search
* @return array Files within the path directory
*
**/
function cfct_files($path) {
$files = apply_filters(\'cfct_files_\'.$path, false);
if ($files) {
return $files;
}
$files = wp_cache_get(\'cfct_files_\'.$path, \'cfct\');
if ($files) {
return $files;
}
$files = array();
$paths = array($path);
if (STYLESHEETPATH.\'/\' != CFCT_PATH) {
// load child theme files
$paths[] = STYLESHEETPATH.\'/\'.str_replace(CFCT_PATH, \'\', $path);
}
foreach ($paths as $path) {
if (is_dir($path) && $handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
$path = trailingslashit($path);
if (is_file($path.$file) && strtolower(substr($file, -4, 4)) == ".php") {
$files[] = $file;
}
}
closedir($handle);
}
}
$files = array_unique($files);
wp_cache_set(\'cfct_files_\'.$path, $files, \'cfct\', 3600);
return $files;
}
。。。然后使用函数
cfct_load_plugins();
在主题初始化期间。