¿Cómo muestro el título de tipo de publicación?

4

Hola, me preguntaba si hay alguna forma de mostrar el título de tipo de publicación personalizado.

Por ejemplo:

Tengo un tipo de publicación personalizada titulada "Pretty Little Liars" y también se muestra en la página de inicio, pero ¿cómo obtengo el título POST TYPE, no el título de la publicación para que aparezca como una categoría?

Por ejemplo:

Publicado en: Pretty Little Liars

¿Es esto posible?

También quiero enlazar a la página de tipo de publicación

    
pregunta Terrell Anderson 31.07.2012 - 12:50

2 respuestas

4

Puedes escribir una etiqueta de plantilla general para esta tarea.

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;
}

Explicación

Tenemos dos variables declaradas como static , por lo que no tenemos que rehacer la tarea, si por ejemplo, la estás utilizando dentro de un bucle que muestra publicaciones de diferentes tipos de publicaciones.

También tienes un argumento ( (bool) true/false ) para cambiar si solo quieres volver o imprimir el nombre correctamente.

Esta función no funciona para los tipos de publicación integrados (suponiendo que no la necesites). Si también lo necesita para los tipos de publicaciones incorporados, simplemente elimine el argumento _builtin de la función dentro de ↑ get_post_types() .

    
respondido por el kaiser 31.07.2012 - 13:09
1

En caso de que alguien esté buscando más respuestas aquí, hay una función incorporada de wordpress:

post_type_archive_title();

está allí desde 2011, referencia: enlace

    
respondido por el Thomas Fellinger 30.03.2017 - 00:49

Lea otras preguntas en las etiquetas