Adicionar / remover class current_page_parent

Eu criei alguns tipos de postagem personalizados e taxonomias personalizadas, se eu estiver em uma página de arquivo da taxonomia personalizada, o item de menu do Blog é destacado devido à class current_page_parent . Bem, isso é obviamente falso e eu quero remover a class, mas eu também quero adicioná-la a outro item de menu.

Como posso adicionar e remover a class current_page_parent dinamicamente para todas as minhas taxonomias personalizadas?

Atualmente estou removendo a class com

 function wpdev_nav_classs( $classs ) { if( is_archive() ){ $classs = array_diff( $classs, array( 'current_page_parent' ) ); } return $classs; } add_filter( 'nav_menu_css_class', 'wpdev_nav_classs', 10, 2 ); 

mas não tenho nenhuma pista sobre como adicioná-lo a outro item de menu, vamos chamar o item Exemplo .

Solutions Collecting From Web of "Adicionar / remover class current_page_parent"

Substitua as news por seu tipo de postagem personalizado e menu-item-000 com o item de menu que deseja destacar.

 function wpdev_nav_classs($classs) { // Remove "current_page_parent" class $classs = array_diff( $classs, array( 'current_page_parent' ) ); // If this is the "news" custom post type, highlight the correct menu item if ( in_array('menu-item-000', $classs) && get_post_type() === 'news' ) { $classs[] = 'current_page_parent'; } return $classs; } add_filter('nav_menu_css_class', 'wpdev_nav_classs'); 

Se você tiver mais de um tipo de publicação, seria melhor usar uma instrução switch. Deixe-me saber se for esse o caso, e vou atualizar o código.