我想分享一段简单的 JavaScript 代码,用于从 Users 列表中隐藏特定用户。我想象如果通过插件实现会更优雅,但我目前还没有足够的勇气去尝试!此外,此方法需要针对每个主题分别设置,并且目前硬编码为仅适用于 Light 主题!不过其原理适用于任何主题。
假设你有名为 james-admin 和 another-admin 的用户,你不希望他们向所有用户公开可见。只需将以下自定义脚本添加到 </body> 自定义设置中(设置 -> 自定义 -> 主题 -> Light -> </body>):
<script type="text/javascript">
// 隐藏用户
let hidden_users = [ "james-admin", "another-admin" ];
// 当页面通过 AJAX 加载时
$( document ).ajaxComplete( function( event, xhr, settings ) {
// 检查是否在用户列表页面
if ( settings.url.startsWith("/directory_items?") ) {
// 查找所有包含隐藏用户的容器
hidden_users.forEach(function ( hidden_user ) {
$( "a:contains('" + hidden_user + "')" ).each( function() {
// 双重确认
if ( this.text === hidden_user ) {
// 隐藏用户(特定于该主题!)
$( this ).closest( "tr" ).remove();
}
});
});
}
});
</script>
欢迎提出评论!