【发布时间】:2021-01-08 12:01:23
【问题描述】:
我希望组目录中的组在 Buddypress 中按字母顺序排序,除非用户通过下拉菜单选择自己的排序。
我尝试通过自定义函数:
add_filter('bp_after_has_groups_parse_args', function ($options)
{
if (bp_is_groups_directory()) {
if(!$options['type'])
$options['type'] = 'alphabetical';
}
return $options;
});
根据文档,当用户尚未在下拉列表中选择选项时,即初始排序时,$options['type'] 为“null”。
至少在第 995 行是这样说的: https://github.com/buddypress/BuddyPress/blob/master/src/bp-groups/classes/class-bp-groups-group.php#L995
但它似乎不起作用。 有什么想法吗?
【问题讨论】:
-
尝试删除这个` if(!$options['type']) `
-
不幸的是,我认为这没有意义,因为下拉排序根本不可能了。我只想设置初始默认排序
-
@shanebp:或者你怎么看?是不是,当我像你说的那样删除时,它是在全球范围内强制执行的?
-
如果用户未设置,
type将设置为active。它永远不是null。我不知道如何使用过滤器来避免这种情况。尝试这种方法,调整以使用新模板。 green-box.co.uk/… -
@shanebp 我找到了另一个解决方案,不幸的是它需要修改核心文件......因为模板在 buddyboss 中没有正确分离。 (我正在使用 buddyboss)。修改
bp_nouveau_get_groups_filters并将字母选项移到顶部 -> 这样在用户尚未选择另一个排序的情况下选择它:)
标签: php wordpress directory buddypress