Articles
Comment puis-je afficher le nom de la catégorie dans le message unique lors de lutilisation de WP Blog et Widget?
On février 16, 2021 by adminJutilise la version gratuite du plugin WP Blog and Widget pour mon blog. Cela fonctionne parfaitement.
Mon problème est que je dois afficher le nom de la catégorie de publication actuelle sur ma seule page. Jai donc essayé le code ci-dessous sur une seule page.php pour vérifier le nom de la catégorie.
$cat = get_the_category(); print_r($cat);
mais je nobtiens pas le nom de la catégorie. Jobtiens un tableau vide.
Array ( )
Comment puis-je résoudre ce problème?
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();
Commentaires
Réponse
Vous pouvez simplement mettre ce code dans votre singl. php
foreach((get_the_category()) as $category) { echo $category->cat_name . " "; }
Commentaires
- Merci pour la réponse, mais je reçois seulement Non attribué
- vous avez donc attribué la catégorie?
- Oui, jai une catégorie et je lai déjà attribuée.
- avez-vous mis le code dans la boucle while?
- Oui, jai ajouté inslide while (have_posts ()): Veuillez vérifier mon code. Jai mis à jour la question.
get_the_category()
obtient des termes de la taxonomiecategory
. Le plug-in que vous avez lié crée un type de publication personnalisé, vous aussi Assurez-vous que ' ne crée pas également une taxonomie distincte pour les ' catégories de blog '? Si votre message contient des termes de taxonomie personnalisés que vous devez utiliserget_the_terms()
, pasget_the_category()
.get_the_terms()
, vous devez fournir le nom de la taxonomie, que je ne porte pas ' Je ne sais pas. Vérifiez lURL de lécran dédition pour ces catégories. Il doit inclure le nom de la taxonomie.