Destaque o tipo de publicação atual quando estiver dentro do tipo de postagem personalizado

Eu tenho um tipo de postagem personalizado chamado: “filme”
Tenho apenas 4 filmes na seção de meus filmes no site.
Dentro de cada tipo de filme, eu quero exibir todos os outros filmes em uma lista lateral, assim:

  • filme 1
  • filme 2
  • filme 3
  • filme 4

então o usuário pode navegar de cada página de filme para todos os outros filmes.

Utilizei este código para exibir a lista de todos os meus tipos de publicação “filme”:

    'movie', 'posts_per_page' => 4, 'order'=>'ASC' ) ); ?> have_posts() ) : $loop->the_post(); ?>
  • <?php the_title( '', '' ); ?>

Até agora é muito simples e funcionando.

Eu também gostaria de adicionar uma class “atual” a cada item na lista que corresponde à publicação que eu atualmente leio. Por exemplo, se eu estou dentro do filme 3, vejo isso:

  • filme 1
  • filme 2
  • filme 3
  • filme 4

O problema é que, ao contrário do menu personalizado do WordPress, nenhum “item do menu atual” ou outra class é gerado automaticamente.

Alguma idéia de como posso conseguir isso?

Solutions Collecting From Web of "Destaque o tipo de publicação atual quando estiver dentro do tipo de postagem personalizado"

Estou assumindo que seu código está em uma página “single” post / cpt.

 echo '
    '; $loop = new WP_Query( array( 'post_type' => 'post', 'posts_per_page' => 4, 'order'=>'ASC' ) ); $obj = get_queried_object(); $thispage = $obj->ID; while ( $loop->have_posts() ) : $loop->the_post(); ?>
  • < ?php if ($thispage === $post->ID) { $class = ' class="current-item"'; } else { $class = ''; } the_title( '', '' ); ?>
  • < ?php endwhile; echo '
';

Você deseja usar get_queried_object para obter dados sobre a página em que você está e comparar a identificação com os itens no loop, adicionando um atributo de class se eles coincidirem. Isso não funcionará corretamente em páginas de arquivo como get_queried_object não retornará o mesmo tipo de dados nessas páginas. Dependendo da sua implementação, você pode ter que alterar o código.