Я пытаюсь отобразить список тегов, связанных с сообщением в теге категории данных внутри div. На данный момент мой код ничего не выводит в теге. У меня также было это, где он выводит слово «Массив». Мне нужно, чтобы отобразить как «tag1 tag2 и т. Д.»
Вот как я сейчас настроил свой код внутри цикла if have posts …
получать значения …
$post_tag = wp_get_post_tags( $post_id, $args );
повторяя значения …
<div data-category="<?php foreach($post_tag as $tag){ echo $tag; } ?>">
Вот полный код …
<?php $layout = get_post_type(); ?>
<?
$slug = get_post( $post )->post_name;
$post_tag = wp_get_post_tags( $post_id, $args );?>
<? if ( $layout == 'fullscreenimage' ){ ?><p>layout 1</p>
<div class="portfolio-item" data-id="<?php echo $slug; ?>" data-category="<?php foreach($post_tag as $tag){ echo $tag; } ?>">
<h1 class="entry-title"><?php the_title(); ?></h1>
</div>
<?php } elseif ( $layout == 'singleimagetext' ) { ?>
<p>layout 2</p>
<div class="portfolio-item" data-id="<?php echo $slug; ?>" data-category="<? //echo $tags; ?>">
<h1 class="entry-title"><?php the_title(); ?></h1>
</div>
<?php } elseif ( $layout == 'casestudy' ) { ?>
<p>layout 3</p>
<div class="portfolio-item" data-id="<?php echo $slug; ?>" data-category="<? //echo $tags; ?>">
<h1 class="entry-title"><?php the_title(); ?></h1>
</div>
<?php } elseif ( $layout == 'gallery' ) { ?>
<p>layout 4</p>
<div class="portfolio-item" data-id="<?php echo $slug; ?>" data-category="<? //echo $tags; ?>">
<h1 class="entry-title"><?php the_title(); ?></h1>
</div><?php } ?>
<?php endwhile; ?>
<?php else : ?>
<h2 class=”center”>Not Found</h2>
<p class=”center”>Sorry, but you are looking for something that isn’t here.</p>
<?php endif; ?>
<?php /* end my loop */ ?>
$ tag является объектом класса std согласно документации, чтобы получить имя тега, просто попробуйте это
<div data-category="<?php foreach($post_tag as $tag){ echo $tag->name; } ?>">
$ tag-> name просто получает свойство объекта stdClass с именем name.
Это то, что возвращает объект, так что вы можете получить другую информацию, такую как term_id или slug для URL.
stdClass Object
(
[term_id] => 4
[name] => tag2
[slug] => tag2
[term_group] => 0
[term_taxonomy_id] => 4
[taxonomy] => post_tag
[description] =>
[parent] => 0
[count] => 7
)
Документация WP получить пост теги
добавил функцию в functions.php
function my_post_terms() {
// Get an array of all taxonomies for this post
$taxonomies = get_taxonomies( '', 'names' );
// Are there any taxonomies to get terms from?
if ( $taxonomies ) {
// Call the wp_get_post_terms function to retrieve all terms. It accepts an array of taxonomies as argument.
$arr_terms = wp_get_post_terms( get_the_ID(), array_values( $taxonomies ) , array( "fields" => "names" ) );
// Convert the terms array to a string
$terms = implode( ' ',$arr_terms );
// Get out of here
return $terms;
}
}
затем добавил это эхо my_post_terms (); в HTML …
<div class="portfolio-item" data-id="<?php echo $slug; ?>" data-category="<?php echo my_post_terms(); ?>">