我希望有更好的方法
您可以更好地编写代码,比如在函数出现故障时添加一些保护。任何人都不应该想当然地认为代码总是可以工作的,即使看起来是这样。始终以您的代码的心态进行编码will 失败
我只想做一个foreach
循环,然后将钥匙穿过basename
将在最后一次之后返回所有内容/
如果存在,并将删除.php
扩大
至于get_plugins()
, 这绝对是一个很好的选择,因为它利用内置缓存系统来缓存其结果
我可能会将您的代码重写如下;(需要PHP 5.4+)
function l7wau_get_slugs()
{
$plugin_array = get_plugins();
// First check if we have plugins, else return false
if ( empty( $plugin_array ) )
return false;
// Define our variable as an empty array to avoid bugs if $plugin_array is empty
$slugs = [];
foreach ( $plugin_array as $plugin_slug=>$values ){
$slugs[] = basename(
$plugin_slug, // Get the key which holds the folder/file name
\'.php\' // Strip away the .php part
);
}
return $slugs;
}
这对所有插件都有效吗?
是的,它将适用于插件目录中的插件。get_plugins()
使用get_plugin_data()
它解析插件头数据以检索元数据。只需查看链接中包含的来源。