Скрыть подкатегории, не скрывая их темы в списке тем?

В целом, следует избегать полной замены шаблонов, так как они требуют поддержки: если обновление Discourse нарушает работу вашей темы, вам придется сравнивать версии (diff) и проверять, что изменилось.

Вместо этого лучше отступить на шаг назад и изменить данные, передаваемые в шаблон.

topic-list-item — это компонент Ember, поэтому вы можете использовать api.modifyClass, чтобы внести нужные изменения.

Например, вот фрагмент кода, который отображает значок родительской категории в темах подкатегорий под заголовком. Если тема находится в основной категории, этот код не окажет никакого эффекта.

<script type="text/discourse-plugin" version="0.8">
  const { on } = require("discourse-common/utils/decorators");

  // идентификаторы родительских категорий
  const targetCategoryIds = [9, 15, 50];

  const useParentCategory = function () {
    const parentCategory = this.attrs.topic.category.parentCategory;
    const switchToParent = parentCategory && targetCategoryIds.includes(parentCategory.id);

    if (switchToParent) {
      this.attrs.topic.set("category", parentCategory);
    }
  };

  api.modifyClass("component:topic-list-item", {
    @on("didReceiveAttrs")
    setCategory() {
      useParentCategory.call(this);
    }
  });

  api.modifyClass("component:latest-topic-list-item", {
    @on("didReceiveAttrs")
    setCategory() {
      useParentCategory.call(this);
    }
  });
</script>