当我使用WP博客和Widget时,如何在单个帖子中显示类别名称?

时间:2020-04-20 作者:Naren Verma

我使用的是WP Blog and Widget 我的博客插件。它工作得很好。

我的问题是,我必须在我的单个页面上显示当前的帖子类别名称。所以我在单曲上尝试了以下代码。php页面检查类别名称。

$cat = get_the_category();
print_r($cat);
但我没有得到类别名称。我得到一个空数组。

Array ( )
如何解决此问题?

单身。php

<?php
    /**
     * The template for displaying all single posts
     *
     * @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
     *
     * @package WordPress
     * @subpackage Twenty_Nineteen
     * @since 1.0.0
     */

    get_header();
?>

<section id="primary" class="content-area">
    <main id="main" class="site-main">

        <?php
            /* Start the Loop */
            while ( have_posts() ) :
                the_post();

            $cats = array();
            foreach (get_the_category($post_id) as $c) {
                $cat = get_category($c);
                array_push($cats, $cat->name);
            }

            if (sizeOf($cats) > 0) {
                $post_categories = implode(\', \', $cats);
            } else {
                $post_categories = \'Not Assigned\';
            }
            echo $post_categories;


            get_template_part( \'template-parts/content/content\', \'single\' );

            if ( is_singular( \'attachment\' ) ) {
                // Parent post navigation.
                the_post_navigation(
                    array(
                        /* translators: %s: parent post link */
                        \'prev_text\' => sprintf( __( \'<span class="meta-nav">Published in</span><span class="post-title">%s</span>\', \'twentynineteen\' ), \'%title\' ),
                    )
                );
            } elseif ( is_singular( \'post\' ) ) {
                // Previous/next post navigation.
                the_post_navigation(
                    array(
                        \'next_text\' => \'<span class="meta-nav" aria-hidden="true">\' . __( \'Next Post\', \'twentynineteen\' ) . \'</span> \' .
                            \'<span class="screen-reader-text">\' . __( \'Next post:\', \'twentynineteen\' ) . \'</span> <br/>\' .
                            \'<span class="post-title">%title</span>\',
                        \'prev_text\' => \'<span class="meta-nav" aria-hidden="true">\' . __( \'Previous Post\', \'twentynineteen\' ) . \'</span> \' .
                            \'<span class="screen-reader-text">\' . __( \'Previous post:\', \'twentynineteen\' ) . \'</span> <br/>\' .
                            \'<span class="post-title">%title</span>\',
                    )
                );
            }

            // If comments are open or we have at least one comment, load up the comment template.
            if ( comments_open() || get_comments_number() ) {
                comments_template();
            }

            endwhile; // End of the loop.
        ?>

        </main><!-- #main -->
    </section><!-- #primary -->

<?php
    get_footer();

1 个回复
SO网友:Atif Aqeel

你可以简单地把这些代码放进你的信号中。php

foreach((get_the_category()) as $category) 
{
    echo $category->cat_name . \' \'; 
}