Atualmente, seu código está modificando todas consultas de termos, tanto no front-end quanto no back-end.
Cada menu de navegação é registrado como um termo na nav_menu
taxonomia, portanto, quando você visita o back-end para trabalhar nos menus, essas consultas também foram modificadas pelo seu snippet de código.
Por exemplo, não vejo qualquer ! is_admin()
no seu código.
Você deve segmentar apenas a consulta de termos relevante, por exemplo, adicionando o filtro antes do termo consulta e, em seguida, remova-o novamente depois. Outra abordagem seria usar um argumento de entrada personalizado para ativar o filtro.
ps: Embora cada menu de navegação esteja registrado como um termo em nav_menu
, cada item de menu é um tipo de postagem personalizado nav_menu_item
e a estrutura em árvore é armazenada na meta-tabela sob _menu_item_menu_item_parent
meta key para cada post. Eu só queria mencionar isso, pois pode ser entendido pelo que escrevi aqui acima que o menu é apenas parte da estrutura da taxonomia.