#php #wordpress #plugins
#php #wordpress #Плагины
Вопрос:
Я манипулирую results.php файл из плагина Search and Filter Pro (WordPress). Я пытаюсь также отобразить категории для каждого из этих пользовательских типов записей. Но все, что я вижу на интерфейсе, — это «Массив» вместо названий категорий. Вот мой текущий код:
if ( $query->have_posts() )
{
?>
<div class="pagination">
<div class="nav-previous"><?php next_posts_link( 'Older posts', $query->max_num_pages ); ?></div>
<div class="nav-next"><?php previous_posts_link( 'Newer posts' ); ?></div>
<?php
/* example code for using the wp_pagenavi plugin */
if (function_exists('wp_pagenavi'))
{
echo "<br />";
wp_pagenavi( array( 'query' => $query ) );
}
?>
</div>
<?php
while ($query->have_posts())
{
$query->the_post();
$post_id = get_the_ID();
$post_category = get_the_category();
$description = get_field('product_description', $post_id);
?>
<div class="product-div">
<?php
if ( has_post_thumbnail() ) {
echo '<p>';
?>
<?php the_post_thumbnail("small");?>
<?php
echo '</p>';
}
?>
<h3><?php echo $post_category; ?></h3>
<h2><?php the_title(); ?></h2>
<?php echo $description;?>
</div>
<?php
}
?>
<?php
}
else
{
echo "No Results Found";
}
?>
Что я делаю не так?
Ответ №1:
Просмотр функции get_the_category
возвращает массив объектов WP_Term в соответствии со справочной страницей. Попробуйте <?php echo $post_category[0]->name; ?>
или, если сообщению присвоено более одной категории, вы можете выполнить цикл, например:
foreach($post_category as $category){
echo $category->name;
}
Комментарии:
1. Это было именно то, что мне было нужно. Сработало как по волшебству. Большое спасибо!!