Obține numele categoriei dintr-un loop personalizat și afișează-l o singură dată
Am o pagină de front-page pentru o revistă care se actualizează cu fiecare ediție, iar pagina principală afișează postările curente ale ediției care sunt fixate (sticky). De exemplu, în această lună toate postările sunt într-o categorie numită 'Ediția 01' și luna viitoare, voi crea 'Ediția 02' care va înlocui postările fixate din 'Ediția 01' pe pagina principală.
Încerc să afișez numele categoriei postărilor care sunt extrase în query dar nu reușesc să fac acest lucru în afara loop-ului (vreau să-l afișez o singură dată la început înainte ca loop-ul să înceapă).
Aici este query-ul meu pentru a apela postările fixate și o încercare de a afișa numele categoriei care nu funcționează pentru mine...
<?php // Obține Articolele Ediției Curente
$currentissueposts = array(
'posts_per_page' => 6,
'post__in' => get_option( 'sticky_posts' ),
'ignore_sticky_posts' => 1
);
$currentissue = new WP_Query( $currentissueposts );
if ( $currentissue->have_posts() ) : ?>
<div class="the-header">
<h3><?php the_category(); ?></h3>
</div><!-- #the-header -->
<?php while( $currentissue->have_posts() ) : $currentissue->the_post(); ?>
<a href="<?php the_permalink() ?>" rel="bookmark">
<ol class="current-index-container">
<li class="the-title"><?php the_title(); ?></li>
<li class="the-author"><?php the_field('sub_head_1'); ?></li>
<li class="the-subtitle"><?php the_field('sub_head_2'); ?></li>
</ol></a>
<?php endwhile;
wp_reset_query();
endif; ?>
Am verificat documentația în ceea ce privește single_post_title și get_the_category dar nu reușesc să le fac să funcționeze o singură dată. Orice ajutor este apreciat!
Iată o idee. Rețineți, acest lucru va funcționa doar dacă toate articolele sunt în categoria dorită și dacă toate articolele au doar o singură categorie.
Articolele sunt returnate într-un array la care puteți accesa prin
$currentissue->posts
Cu aceasta în minte, puteți obține ID-ul primului articol astfel:
$currentissue->posts[0]->ID
Acum, puteți adăuga acest lucru într-o variabilă
$id = $currentissue->posts[0]->ID
Acum puteți folosi get_the_category
pentru a prelua categoria căreia îi aparține acest articol. Amintiți-vă, aceasta va fi categoria căreia îi aparțin toate articolele conform întrebării dumneavoastră
Ceva de genul acesta ar funcționa chiar în afara buclei dumneavoastră, chiar în interiorul instrucțiunii if
$category = get_the_category( $id );
echo $category[0]->cat_name;

Mulțumesc Pieter, pare să funcționeze. Deci doar apelează categoria primului articol și o afișează.

<?php print get_the_category(get_the_ID())[0]->name; ?>
get_the_category() - obține un array de postări cu informații despre categorii. get_the_category(get_the_ID()) - obține un array ce conține informații despre categoria pentru o anumită postare. get_the_category(get_the_ID())[0] - obține primul rezultat din array, care este un obiect
