пробую такой код
<?php
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'book',
));
if($posts) {
foreach($posts as $post)
{
$locations = get_field('trs-g');
}
$locations = array_unique($locations);
foreach($locations as $location){
echo '<p>' . $location . '</p>';
} }
?>
выводит только одно значение.
Добрый.
Попробуйте заменить
$locations = get_field('trs-g');
на
$locations[] = get_field('trs-g');
В таком случае получаю Array
тоже одно значение.
у меня поле — это чекбокс, но у каждого поста только 1 значение поля.
сделал print_r на странице, у меня там массив.
дописал
echo $location[0];
в итоге получил код
<?php
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'book',
));
foreach($posts as $post) {
$locations[] = get_field('trs-g');
echo '<br/>';
}
echo print_r($locations);
echo '<h3>Вывод уникальных строк массива</h3>';
$locations = array_unique($locations);
foreach($locations as $location){
echo '<br/><br/>';
echo $location[0];
}
?>
и все равно выводится только одно значение.
ссылка кому интересна
https://trs.it-s.su/
-
Ответ изменён 3 года, 10 месяцев назад пользователем usmdamir.
вроде бы получилось сделать
<?php
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'book',
));
foreach($posts as $post) {
$field = get_field('trs-g');
$locations[] = $field[0];
}
$locations = array_unique($locations);
foreach($locations as $location){
echo $location;
}
?>