отображение списка тегов, связанных с сообщением, в теге категории данных

Я пытаюсь отобразить список тегов, связанных с сообщением в теге категории данных внутри 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 */ ?>

0

Решение

$ 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 получить пост теги

0

Другие решения

добавил функцию в 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(); ?>">
0

По вопросам рекламы [email protected]