Como exibo o título do tipo de postagem?

4

Oi eu queria saber se existe uma maneira que eu possa exibir o título do tipo de postagem personalizada.

Por exemplo:

Eu tenho um tipo de post personalizado intitulado "Pretty Little Liars" e também é exibido na página inicial, mas como faço para obter o título POST TYPE, não o título da postagem como uma categoria.

Por exemplo:

Publicado em: Pretty Little Liars

isso é possível?

Também quero que ele faça um link para a página de tipo de postagem

    
por Terrell Anderson 31.07.2012 / 12:50

2 respostas

4

Você pode escrever uma tag de modelo geral para essa tarefa.

function wpse60306_get_post_type( $echo = true )
{
    static $post_types, $labels = '';

    // Get all post type *names*, that are shown in the admin menu
    empty( $post_types ) AND $post_types = get_post_types( 
        array( 
            'show_in_menu' => true,
            '_builtin'     => false,
        ),
        'objects'
    );

    empty( $labels ) AND $labels = wp_list_pluck( $post_types, 'labels' );
    $names = wp_list_pluck( $labels, 'singular_name' );
    $name = $names[ get_post_type() ];

    // return or print?
    return $echo ? print $name : $name;
}

Explicação

Temos duas variáveis declaradas como static , portanto, não é preciso refazer a tarefa, se você estiver, por exemplo, usando-a em um loop que mostre postagens de diferentes tipos de postagens.

Você também tem um argumento ( (bool) true/false ) para mudar se quiser apenas retornar ou imprimir o nome corretamente.

Esta função não funciona para tipos de postagem incorporados (supondo que você não precise dela). Se você precisar também de tipos de post embutidos, basta remover o argumento _builtin da função dentro de co get_post_types() .

    
por kaiser 31.07.2012 / 13:09
1

Caso alguém esteja procurando respostas adicionais aqui, há uma função incorporada do wordpress:

post_type_archive_title();

está lá desde 2011, referência: enlace

    
por Thomas Fellinger 30.03.2017 / 00:49