Exibir lista de títulos de todas as postagens do tipo de postagem atual

Eu tenho um tipo de postagem personalizado chamado press .

Estou no modelo single-press.php

O que eu quero alcançar é gerar uma lista dos títulos (com o link correspondente) de todos os tipos de postagem customizados.

Eu tentei com este código sem sorte, alguma idéia?

  query_vars['post_type']; if ( 'press' == $post_type ){ $query->query_vars['posts_per_page'] = -1; return; } } add_action('pre_get_posts', 'all_posts_custom_posts',1); ?> 

E também destaque a publicação atual da lista, adicionando uma class a ela.

Solutions Collecting From Web of "Exibir lista de títulos de todas as postagens do tipo de postagem atual"

O que você descreve é ​​chamado de Post Type Archive e vem cozido no WordPress. Ele deve aparecer em seu site em example.com/ press , supondo que você não tenha dado uma linguagem diferente com a rewrite de sua function register_post_type() para o tipo de postagem.

Nesse endereço, a consulta será automaticamente mostrando todas as postagens do tipo “pressione”. No entanto, se você quiser mostrar todos eles sem paginação, você precisará usar pre_get_posts :

 function wpse162905_modify_query( $query ) { if( !is_admin() && is_main_query() && is_post_type_archive( 'press' ) ) { $query->set( 'posts_per_page', -1 ); } } add_action( 'pre_get_posts', 'wpse162905_modify_query' ); 

Finalmente, você deseja modificar o modelo da página para mostrar apenas o título como um link. Para fazer isso, você modificará o archive-press.php tema archive-press.php . Conforme mostrado na página do Codex de Hierarquia de Modelos , você pode ver que esse é o modelo que controla os arquivos do tipo de publicação. No seu mais básico, esse arquivo provavelmente inclui isso:

 < ?php if( have_posts() ) : ?>  < ?php endif; ?> 

À medida que você está ligado, ‘single-press.php’, esta é a única página ‘pressionar’ o tipo de publicação. De acordo com sua pergunta, parece que deseja exibir o arquivo de todas as mensagens ‘pressionar’, juntamente com as postagens atuais destacadas.

Como estamos na única página de publicação ‘pressionar’, não é necessário verificar o tipo de publicação.

Podemos adicionar diretamente o seguinte ciclo com modificação na estrutura, conforme sua necessidade,

 global $post; $post_args = array( 'post_type' => 'press', 'post_status' => 'publish' ); $press_posts = get_posts($post_args); if(!empty($press_posts)){ foreach($pres_posts as $single_post){ ?> < ?php echo $single_post->post_title; ?>< ?php } } 

Então, agora damos uma class 'wdm-current-post' para a publicação atual. Todas as postagens serão listadas com a postagem atual destacada na lista.

# Você pode usar este WP_Query

 $arg = new WP_Query( array( 'post_type' => 'postypename') ); while ( $arg->have_posts() ) : $arg->the_post(); the_title(); endwhile; 

Você pode obter todas as postagens de tipo de postagem personalizado conforme você precisa para obter todas as postagens do título com seu permalink usando wp-query.

Código onde você deseja exibir todos os posts do título com seu permalink

Como eu vou receber posts personalizados na lista

   

Em segundo lugar você pede para destacar o link ativo da lista, você pode fazer isso com alguns jQuery

  jQuery(document).ready(function(){ var current = location.pathname; jQuery('.cat_link').each(function(){ var jQuerythis = jQuery(this); // if the current path is like this link, make it active // indexOf(something) if the value never occurs it returns -1 and in this condition if indexOf(something) !== -1 means result !== -1 or results exists then add class active. if(jQuerythis.attr('href').indexOf(current) !== -1){ jQuerythis.addClass('active'); } }); }); 

É isso aí.