Articles
Hogyan jeleníthetem meg a kategória nevét egyetlen bejegyzésben a WP Blog és a Widget használatakor?
On február 16, 2021 by adminA WP Blog és Widget plugin ingyenes verzióját használom a blogomhoz. Tökéletesen működik.
Az a kérdésem, hogy az egyetlen oldalamon meg kell jelenítenem az aktuális bejegyzéskategória nevét. Ezért megpróbáltam az alábbi kódot egy single.php oldalon ellenőrizni a kategória nevét. p>
$cat = get_the_category(); print_r($cat);
de nem a kategória nevét kapom. Üres tömböt kapok.
Array ( )
Hogyan tudom megoldani ezt a problémát?
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();
Megjegyzések
Válasz
Csak egyszerűen beillesztheti ezt a kódot az ön singlébe. php
foreach((get_the_category()) as $category) { echo $category->cat_name . " "; }
Megjegyzések
- Köszönöm a választ, de csak a Nincs hozzárendelve
- tehát hozzárendelte a kategóriát?
- Igen, van kategóriám és már hozzárendeltem.
- beillesztette a kódot a while ciklusba?
- Igen, hozzáadtam az inslide while (have_posts ()): Kérjük, ellenőrizze a kódomat. Frissítettem a kérdésben.
get_the_category()
kifejezéseket kap azcategory
taxonómiából. A linkelt plugin egyéni hozzászólástípust hoz létre, így Ön is biztos, hogy ' nem hoz létre külön rendszertant a ' blogkategóriákhoz '? Ha a bejegyzésedben vannak egyéni taxonómiai kifejezések, amelyeket aget_the_terms()
, nem pedigget_the_category()
.get_the_terms()
használatakor meg kell adnia a taxonómia nevét, amelyet nem ' nem tudom. Ellenőrizze a szerkesztési képernyő URL-jét ezeknél a kategóriáknál. Tartalmaznia kell a taxonómia nevét.