Исправить настройку по умолчанию в edit.php после фильтрации

У меня есть глубокая иерархия страниц, и я создал обычную таксономию, чтобы обозначать разные группы страниц терминами, которые используются для фильтрации списка страниц edit.php для разных пользователей. Проблема в том, что у меня есть родительские сообщения, показывающие ниже их детей, и я думаю, что это может быть из-за того, что родитель получает сиротство и имеет более высокое значение порядка сортировки, чем все его дети.

Пример структуры страницы:

  • Grandparent1
    • Parent1.1
  • Grandparent2
    • Parent2.1
      • Child2.1.1
      • Child2.1.2
      • Child2.1.3
    • Parent2.2
      • Child2.2.1
      • Child2.2.2
      • Child2.2.3

… (родители 2.n опущены)

    • Parent2.13
      • Child2.13.1
      • Child2.13.2
      • Child2.13.3
  • Grandparent3
    • Parent3.1

Когда, например, 2.2 и все его дети помечены термином parent2-2, а список страниц пользователя в файле edit.php фильтруется, чтобы включать только страницы с этим термином, этот пользователь увидит следующее в edit.php:

  • -Parent2.2
  • –Child2.2.1
  • –Child2.2.2
  • –Child2.2.3

Это ожидаемое поведение. Однако, если файл 2.13 и его дети фильтруются для пользователя, пользователь видит:

  • –Child2.13.1
  • –Child2.13.2
  • –Child2.13.3
  • -Parent2.13

Что не ожидается, но, по-видимому, основано на порядковом номере, присвоенном родительскому объекту, который потерян от своего родителя (Grandparent2) в том смысле, что Grandparent2 отфильтровывается с точки зрения пользователя.

Такое поведение происходит, когда моя пользовательская таксономия зарегистрирована, а также когда я выполняю ту же задачу с плагином User Access Manager (и моя таксономия не зарегистрирована).

Кроме того, моя стратегия фильтрации с пользовательской таксономией перехватывает pre_get_posts.

Это общая проблема? Есть ли способ настроить фильтрацию для сортировки на основе полной иерархии?

Solutions Collecting From Web of "Исправить настройку по умолчанию в edit.php после фильтрации"