Come visualizzare il nome della categoria in un singolo post con WP Blog and Widget?
Sto utilizzando la versione gratuita del plugin WP Blog and Widget per il mio blog. Funziona perfettamente.
Il mio problema è che devo visualizzare il nome della categoria del post corrente nella mia pagina singola. Quindi ho provato il seguente codice nella pagina single.php per verificare il nome della categoria.
$cat = get_the_category();
print_r($cat);
ma non ottengo il nome della categoria. Ricevo un array vuoto.
Array ( )
Come posso risolvere questo problema?
Single.php
<?php
/**
* Template per visualizzare tutti i singoli post
*
* @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
/* Inizia il 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 = 'Non Assegnato';
}
echo $post_categories;
get_template_part( 'template-parts/content/content', 'single' );
if ( is_singular( 'attachment' ) ) {
// Navigazione post genitore.
the_post_navigation(
array(
/* traduttori: %s: link post genitore */
'prev_text' => sprintf( __( '<span class="meta-nav">Pubblicato in</span><span class="post-title">%s</span>', 'twentynineteen' ), '%title' ),
)
);
} elseif ( is_singular( 'post' ) ) {
// Navigazione post precedente/successivo.
the_post_navigation(
array(
'next_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Prossimo Post', 'twentynineteen' ) . '</span> ' .
'<span class="screen-reader-text">' . __( 'Prossimo post:', 'twentynineteen' ) . '</span> <br/>' .
'<span class="post-title">%title</span>',
'prev_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Post Precedente', 'twentynineteen' ) . '</span> ' .
'<span class="screen-reader-text">' . __( 'Post precedente:', 'twentynineteen' ) . '</span> <br/>' .
'<span class="post-title">%title</span>',
)
);
}
// Se i commenti sono aperti o abbiamo almeno un commento, carica il template dei commenti.
if ( comments_open() || get_comments_number() ) {
comments_template();
}
endwhile; // Fine del loop.
?>
</main><!-- #main -->
</section><!-- #primary -->
<?php
get_footer();
Sì, ho aggiunto all'interno del while ( have_posts() ) : Per favore controlla il mio codice. L'ho aggiornato nella domanda.

Ho appena aggiunto il tuo codice all'interno del ciclo while e il resto del codice l'ho preso dal tema WordPress.

Il tuo codice funziona se disattivo il plugin WP Blog and Widget. Ma non voglio disattivarlo perché ho creato tutti i blog con quello

ho aggiornato la mia risposta e ho verificato che questo codice funziona correttamente all'interno del loop di single.php https://prnt.sc/s2rhwd

L'ho fatto io, perché non c'è alcuna differenza funzionale tra il codice nella tua risposta e la domanda originale. Non risolverà il problema.

Non ha detto che c'è un custom post type? Sta ottenendo i post dal blog, non da un custom post type.
