Echo get_the_category () вне цикла (глобальное?)

Попытка захватить get_the_category() в цикле и отправить в строку в заголовке.

 // file1.php <div> <h1><?php the_title(); ?></h2> <?php echo $list_categories ; // THIS DOES NOT WORK ?> </div> // file2.php <article> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); $category_array = wp_get_post_categories($post->ID); $category_list = array(); foreach ( $category_array as $categories ) { $category_list[] = get_cat_name( $categories ); } $lister = implode(' • ', $category_list); $list_categories = $lister; echo $list_categories; // THIS WORKS endwhile; endif; ?> </article> 

Что мне не хватает? Это не отражается на file1.php.

Благодаря!

Solutions Collecting From Web of "Echo get_the_category () вне цикла (глобальное?)"

Я понял, что the_title(); может разбираться в файле1.php за пределами цикла, так почему же не может быть категория и идентификатор? Следующее решение моей проблемы.

 // file1.php <div> <h1><?php the_title(); ?></h2> <?php $category_array = wp_get_post_categories($post->ID); $category_list = array(); foreach ( $category_array as $categories ) { $category_list[] = get_cat_name( $categories ); } $lister = implode(' • ', $category_list); $list_categories = $lister; echo $lister ; ?> </div> // file2.php <article> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); the_content(); endwhile; endif; ?> </article> 

В качестве альтернативы, чтобы передать ссылку категории, вы можете использовать следующее (предупреждение, измененные переменные ниже):

 <ul> <?php // get post categories $cats = wp_get_post_categories($post->ID); foreach ( $cats as $category ) { echo "<li>"; $current_cat = get_cat_name($category); $cat_link = get_category_link($category); echo "<a href='$cat_link'>"; echo $current_cat; echo "</a>"; echo "</li>"; } ?> </ul>