Articles
Hvordan kan jeg vise kategorinavnet i enkeltinnlegget når jeg bruker WP Blog og Widget?
On februar 16, 2021 by adminJeg bruker den gratis versjonen av WP Blog and Widget plugin for bloggen min. Det fungerer perfekt.
Problemet mitt er at jeg må vise det gjeldende innleggskategorinavnet på den ene siden min. Så jeg prøvde koden nedenfor på en enkelt.php-side for å sjekke kategorienavnet.
$cat = get_the_category(); print_r($cat);
men jeg får ikke kategorienavnet. Jeg får en tom matrise.
Array ( )
Hvordan kan jeg løse dette problemet?
Single.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();
Kommentarer
Svar
Du kan bare sette denne koden i singlen din. php
foreach((get_the_category()) as $category) { echo $category->cat_name . " "; }
Kommentarer
- Takk for svaret, men jeg får bare Ikke tildelt
- så du har tildelt kategorien?
- Ja, jeg har kategori og jeg har allerede tildelt.
- satte du koden i mens løkken?
- Ja, jeg la til glid mens (have_posts ()): Sjekk koden min. Jeg oppdaterte i spørsmålet.
get_the_category()
får vilkår fracategory
taksonomi. Plugin-en som du koblet til skaper en tilpasset innleggstype, så er du at det ' ikke også skaper en egen taksonomi for ' bloggkategorier '? innlegget ditt har tilpassede taksonomibetingelser du trenger for å brukeget_the_terms()
, ikkeget_the_category()
.get_the_terms()
, må du oppgi taksonominavnet, som jeg ikke ' vet ikke. Sjekk URL-adressen til redigeringsskjermen for disse kategoriene. Det skal inneholde taksonominavnet.