跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • xiunoBBS 后台插件排序方法–启用的排前面
未分類
24 10 月 2020

xiunoBBS 后台插件排序方法–启用的排前面

xiunoBBS 后台插件排序方法–启用的排前面

資深大佬 : xinyana 1

xiunoBBS 后台插件默认是按照插件路径排序,也可以理解为按照插件作者(英文缩写)排序

但是后台看起来就有点乱,找自己启用的插件要翻老半天

先上排序后的效果,有没有变清爽: xiunoBBS 后台插件排序方法--启用的排前面

排序方法

这个效果功能懒得开发成插件,而且几乎为必备修改,直接改源码

将文件/model/plugin.func.php第 53 行的plugin_init()函数修改为以下代码,同时增加函数array_sort()即可,完整代码如下:

// 在安装、卸载插件的时候,需要先初始化 function plugin_init() {  global $plugin_srcfiles, $plugin_paths, $plugins, $official_plugins;  $plugin_paths = glob(APP_PATH.'plugin/*', GLOB_ONLYDIR);  if(is_array($plugin_paths)) {   foreach($plugin_paths as $path) {    $dir = file_name($path);    $conffile = $path."/conf.json";    if(!is_file($conffile)) continue;    $arr = xn_json_decode(file_get_contents($conffile));    if(empty($arr)) continue;    $plugins[$dir] = $arr;        // 额外的信息    $plugins[$dir]['hooks'] = array();    $hookpaths = glob(APP_PATH."plugin/$dir/hook/*.*"); // path    if(is_array($hookpaths)) {     foreach($hookpaths as $hookpath) {      $hookname = file_name($hookpath);      $plugins[$dir]['hooks'][$hookname] = $hookpath;     }    }        // 本地 + 线上数据    $plugins[$dir] = plugin_read_by_dir($dir);   }   //插件排序,依赖于自定义函数 array_sort()   $plugins = array_sort($plugins,'installed','desc');   $plugins = array_sort($plugins,'enable','desc');     } }  //二维数组排序 function array_sort($arr,$keys,$type='asc'){   $keysvalue = $new_array = array();  foreach ($arr as $k=>$v){   $keysvalue[$k] = $v[$keys];  }  if($type == 'asc'){   asort($keysvalue);  }else{   arsort($keysvalue);  }  reset($keysvalue);  foreach ($keysvalue as $k=>$v){   $new_array[$k] = $arr[$k];  }  return $new_array;  }  

转发自: https://www.gezhong.vip/thread-29.htm

大佬有話說 (0)

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具