如何显示帖子类型标题?

时间:2012-07-31 作者:Terrell Anderson

嗨,我想知道是否有一种方法可以显示自定义帖子类型的标题。

例如:

我有一个名为“漂亮的小骗子”的自定义帖子类型,它也会显示在主页上,但我如何获得帖子类型标题,而不是像类别一样显示的帖子标题。

例如:

加上:漂亮的小骗子

这可能吗?

我还希望它链接到帖子类型页面

2 个回复
最合适的回答,由SO网友:kaiser 整理而成

可以为此任务编写常规模板标记。

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;
}
解释我们有两个变量声明为static, 因此,如果您在显示不同帖子类型帖子的循环中使用该任务,则不必重做该任务。

你也有争论((bool) true/false) 如果只想返回或右键打印名称,请切换。

此函数不适用于内置的帖子类型(假设您不需要它)。如果您也需要它用于内置的帖子类型,那么只需删除_builtin 内部函数的参数↑ get_post_types().

SO网友:Thomas Fellinger

为了防止有人在这里寻找进一步的答案,这里有一个内置的wordpress函数:

post_type_archive_title();
自2011年起,参考:https://developer.wordpress.org/reference/functions/post_type_archive_title/, 旧参考号:https://codex.wordpress.org/Function_Reference/post_type_archive_title

结束

相关推荐