Eu tenho um tipo de postagem personalizado, Jobs, com 3 taxonomias no menu Admin.
Uma das taxonomias é Status, que é Ativo ou Fechado. Quero um item de menu em Trabalhos para trabalhos ativos. Eu criei com este código
add_submenu_page(
'edit.php?post_type=jobs',
'Active Jobs',
'Active Jobs',
'manage_options',
'edit.php?post_type=jobs&jobstatus=67'
);
Isso funciona perfeitamente, exceto que o item de menu Trabalhos permanece destacado quando a opção de menu Trabalhos ativos está ativa. Ver captura de tela
Li neste artigo Classe atual no menu admin usando add_submenu_page () para não incluir a lesma pai como o primeiro parâmetro. Não sei como fazer com que o submenu apareça na seção de navegação correta quando removo a lesma do nome do arquivo.
Neste ponto, não estou usando uma função de retorno de chamada, estou simplesmente executando o mesmo URL da opção padrão do submenu Jobs, exceto com parâmetros de consulta que filtram as postagens exibidas. Se mover isso para uma função de retorno de chamada resolver o problema, eu posso fazer isso. Mas não sei o que deve acontecer na função de retorno de chamada. Desejo exibir a página de edição padrão do tipo de postagem personalizada, apenas com um filtro de taxonomia no lugar. obrigado pela ajuda
fonte
'edit.php?&post_type=jobs&jobstatus=67'
... que o primeiro&
não deveria estar lá, seguindo o?
..Respostas:
Fiz esse trabalho usando os menus Postagens e o status Rascunho. Ele se baseia no jQuery para modificar as classes de itens da lista. Adapte-se para trabalhar com seu tipo de postagem e URLs.
Este é o resultado:
fonte
Aqui está uma solução que eu acabei de descobrir que não usa jQuery:
Há um filtro
parent_file
nowp-admin/menu-header.php
qual é executado logo antes da saída do menu. O comentário embutido diz:É apenas um filtro na variável global
$parent_file
e não tenho certeza do que faz, mas usaremos esse filtro para alterar a variável global$submenu_file
, que define o submenu destacado. Portanto, esta será a solução no seu caso:Você pode adaptar isso com qualquer formatação de URL. Por exemplo, eu uso o formato
admin.php?page=my_plugin_slug&action=myaction
para os submenus dos meus plugins, então usei isso para destacar meus submenus:PS: Eu também tentei a ação
admin_menu
para definir$submenu_file
, e funcionou no meu caso (página de plug-in / slug personalizado), mas não paraedit.php
submenus (seu caso). Então, eu procurei por outra ação / filtro que roda mais tarde e era o filtroparent_file
.fonte
Eu descobri que você também precisa usar entidades html para o seu link. desde que você tem
você pode tentar alterar o e comercial para seu equivalente em entidade html
então você teria
isso funcionou para mim ... eu também testei a seqüência de saída para submenu e menu pai e verifiquei se eles coincidem. isso pode ser uma pequena função de utilidade para verificar essas coisas
fonte