2011-03-18 3 views
1

У меня есть следующая строка кода: $terms = get_the_terms($the_post->ID, 'posts_tags'); echo $terms; Идея состоит в том, чтобы отобразить массив в формате тегов, но вместо этого он просто возвращает слово Array?WordPress echo out array

Как это сделать? Метки должны быть представлены следующим образом: «tag1, tag2, Tag3»

ответ

6

попробовать

foreach($terms as $term){ 
    echo $term; 
} 

вы можете добавить что-то, чтобы отделить их, как $echo "," или что-то, но вы получите идею
Вы также можете использовать этот

$termsString = implode (',' , $terms); 
echo $termsString; 

в соответствии с просьбой:

термины действительно массив, смотри, например, @ProdigySim «s ответьте, как это выглядит. Вы действительно можете распечатать их для целей отладки с var_dump или print_r, но это не поможет вам в производственной среде.

Если предположить, что это не является ассоциативным массивом, вы можете найти первый тег, как это:

echo $terms[0] 

, а остальное, как

echo $terms[1] 

Вплоть до последнего (count($terms)-1).
Предназначен для печати каждого из них по порядку. Второй, как вы можете найти в the manual, просто делает одну строку из них.

В конце концов, как вы просили в комментариях: Просто вставьте это.

$terms = get_the_terms($the_post->ID, 'posts_tags'); 
$termsString = implode (',' , $terms); 
echo $termsString; 
+0

Это правильно. Вы можете объяснить, что '$ terms' является массивом и не может быть непосредственно' echo''d. –

+0

Я думал, что у cameron уже было это в вопросе, но я могу что-то добавить – Nanne

+0

Жаль, я не был понятен. Кэмерон знает, что это массив, но не тот, что он не может быть использован как таковой. Не большой. –

2

Вы ищете print_r()

$a = array ('a' => 'apple', 'b' => 'banana'); 
print_r ($a); 

выходов

Array 
(
    [a] => apple 
    [b] => banana 
) 
+0

Кэмерон сказал, что хочет отображать элементы, такие как «item, item, item», поэтому он действительно ищет метод, который будет перебирать массив и отображать термины с форматированием. –

1

Массивы удивительная особенность любого языка программирования я когда-либо использовал. Я настоятельно рекомендую потратить некоторое время на чтение, особенно если вы настраиваете Wordpress.

Причина, по которой это только массив эхо, потому что эхо может возвращать только строки. Попробуйте print_r ($ terms) или var_dump ($ terms) для получения дополнительной информации.

http://php.net/manual/en/language.types.array.php