soderlind /super-admin-all-sites-menu
为超级管理员,将 WP 管理栏“我的站点”菜单替换为“所有站点”菜单。
- dev-main
- 1.6.7
- 1.6.6
- 1.6.4
- 1.6.2
- 1.6.1
- 1.6.0
- 1.5.0
- 1.4.28
- 1.4.27
- 1.4.26
- 1.4.25
- 1.4.24
- 1.4.23
- 1.4.22
- 1.4.21
- 1.4.20
- 1.4.19
- 1.4.18
- 1.4.17
- 1.4.16
- 1.4.15
- 1.4.14
- 1.4.13
- 1.4.12
- 1.4.11
- 1.4.10
- 1.4.9
- 1.4.8
- 1.4.7
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.8
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-dependabot/npm_and_yarn/word-wrap-1.2.4
- dev-dependabot/npm_and_yarn/tough-cookie-4.1.3
This package is auto-updated.
Last update: 2024-09-15 21:51:49 UTC
README
还可在 https://wordpresstheme.cn/plugins/super-admin-all-sites-menu/ 找到
使用 | 前提条件 | 安装 | 过滤器 | 演示 | 变更日志
为超级管理员,将 WP 管理栏“我的站点”菜单替换为“所有站点”菜单。
- 不使用
switch_to_blog()
,即“所有站点菜单”比“我的站点”菜单更快,资源消耗更少。 - 子站点菜单数据存储在本地 IndexedDB 中(我说过它很快吗?)。当以下情况发生时,本地存储会更新:
- 插件被激活。
- 添加或删除站点。
- 更改博客名称。
- IndexedDB 与站点更改不同步。
- 受限站点访问 被激活或停用。
- 当更新子站点菜单数据时,使用 REST 并按增量进行(每个增量100个站点)。
- 列出所有子站点。WP 管理栏“我的站点”仅列出您是本地管理员的站点。
- 用红色图标标记有 受限站点访问 的站点。
- 站点菜单按字母顺序排序。
- 搜索过滤器。
- 添加更多菜单选项
- 在“网络管理员”下
- 添加新站点
- 按子站点。
- “新建页面”
- “用户”
- “插件”
- “设置”
- 在“网络管理员”下
受 WP REST API 与 admin-ajax.php 以及 Must-Use 插件:处理 WordPress 中的 AJAX 请求 启发,我编写了一个 必须使用插件,使插件从快速变为更快(约 60% 更快)。将 文件 保存在
mu-plugins
中。
使用
IndexedDB
菜单数据在本地 IndexedDB 中存储。
前提条件
- WordPress 多站点
- 现代浏览器,IE 11 不受支持。
安装
还可在 https://wordpresstheme.cn/plugins/super-admin-all-sites-menu/ 找到
过滤器
您可以使用以下过滤器来覆盖默认设置
all_sites_menu_order_by
- 按菜单排序。默认值是
name
,接受id
、url
或name
add_filter( 'all_sites_menu_order_by', function( string $order_by ) : string { return 'url'; } );
- 按菜单排序。默认值是
all_sites_menu_load_increments
- REST 加载增量。默认值是 100。
add_filter( 'all_sites_menu_load_increments', function( int $increments ) : int { return 300; } );
all_sites_menu_plugin_trigger
- 当插件(停用)激活时,触发本地存储(IndexedDB)的更新。默认值是
[ 'restricted-site-access/restricted_site_access.php' ]
。注意:必须是数组,并且数组中的每个元素都必须指向主插件文件。语法
'plugin-dir/plugin-file.php'
add_filter( 'all_sites_menu_plugin_trigger', function( array $plugins ) : array { return [ 'restricted-site-access/restricted_site_access.php', 'myplugin/myplugin.php', ]; } );
- 当插件(停用)激活时,触发本地存储(IndexedDB)的更新。默认值是
all_sites_menu_search_threshold
- 如果子站点数量少于 N,则不显示搜索字段。默认值是 20。
add_filter( 'all_sites_menu_search_threshold', function( int $increments ) : int { return 40; } );
all_sites_menu_force_refresh_expiration
- 强制刷新应该进行的频率。默认值是
3600
。将值设置为0
以禁用强制刷新。add_filter( 'all_sites_menu_force_refresh_expiration', function( int $seconds ) : int { return 3600; } );
- 强制刷新应该进行的频率。默认值是
演示
本地,在 VS Code 中
在本地使用VS Code dev containers,在WordPress多站环境中测试包含100个站点的插件。
- 您必须安装docker。
- 在VS Code中,安装Remote - Containers扩展。
- 克隆Super Admin All Sites Menu:
git clone https://github.com/soderlind/super-admin-all-sites-menu
- 在
super-admin-all-sites-menu
中,打开VS Code:code .
- 当VS Code打开时,点击重新打开容器
- 等待容器准备就绪,然后打开https://:8080/wp-admin/
- 用户名:
admin
- 密码:
password
- 用户名:
在GitHub Codespaces
- 点击Code下拉菜单,选择
在main上创建codespace
。 - 等待VS Code在浏览器中运行
- 在VS Code中,选择
PORTS
并点击本地地址
URL。 - 将
/wp-admin
附加到本地地址URL- 用户名:
admin
- 密码:
password
- 用户名:
流程
变更日志
致谢
- Dexie.js,Apache License Version 2.0许可
- 子菜单偏移调整: https://qiita.com/zephyr7501/items/dd0967fddabd888b28c4
- 来自https://github.com/trepmal/my-sites-search的搜索字段CSS
版权和许可
Super Admin All Sites Menu版权属于2021年Per Soderlind
Super Admin All Sites Menu是免费软件:您可以按照自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它,许可证版本为2,或(根据您的选择)任何更高版本。
Super Admin All Sites Menu是在希望它有用的希望下分发的,但没有任何保证;甚至没有关于其适销性或特定用途适用性的暗示保证。有关更多信息,请参阅GNU通用公共许可证。
您应该已随扩展程序一起收到GNU通用公共许可证的副本。如果没有,请参阅https://gnu.ac.cn/licenses/。