将类别名称添加到帖子标题(H1)

时间:2018-06-07 作者:Seryozha

如何将类别名称添加到帖子标题(H1)?“PostTitle+CategoryName”?

我的h1 职务代码:

<?php the_title( \'<h1 class="entry-title">\', \'</h1>\' ); ?>

2 个回复
SO网友:Patrice Poliquin

我会在周围工作代码并做类似的事情。

<h1><?php echo get_the_title(); ?> - <?php the_category(\', \'); ?></h1>

get_the_title(); 检索文章标题。

the_category(\', \'); 显示指向类别的链接,每个类别用逗号分隔(如果有多个)。

文档可在此处找到:https://codex.wordpress.org/Function_Reference/the_category

希望对你有帮助。

SO网友:Krzysiek Dróżdż

您可以使用两种解决方案。

如果可以修改打印标题的行,请在主题中进行更改,然后再进行更改。您可以将其替换为:

<h1><?php the_title(); ?> - <?php the_category(); ?></h1>
如果不应链接类别,则可以使用此选项:

<h1><?php the_title(); ?> - <?php
    $categories = get_the_category();
    if ( ! empty($categories) ) {
        foreach ( $categories as $term ) {
            echo esc_html( $term->name ) . \' \';
        }
    }
?></h1>
如果你不能更改主题,或者你不想更改,因为有很多很多地方需要更改,那么你可以使用the_title 过滤器:

function add_categories_to_the_title( $title, $id ) {
    if ( is_singular( \'post\' ) && \'post\' == get_post_type( $id ) ) {  // it will work only for posts on single page, but you can modify this condition
        $categories = get_the_category();
        $cats_string = \'\';
        if ( ! empty($categories) ) {
            foreach ( $categories as $term ) {
                $cats_string .= $term->name . \' \';
            }
        }
        if ( $cats_string ) {
            $title .= \' - \' . $cats_string;
        }
    }

    return $title;
}
add_filter( \'the_title\', \'add_categories_to_the_title\', 10, 2 );

结束

相关推荐

Categories manage

我正在尝试向CPT中添加特定类别,只有在添加新帖子时,您才能看到与这些帖子类型相关的类别。此外,我希望能够从后端添加类别,而不是从代码添加类别,因为我有很多类别将要更改。如果有一个插件可以做到这一点,那很好,但我也希望了解它是如何做到的。非常感谢