Я пытаюсь использовать цикл foreach для печати ссылок, которые сортируются по одной из трех переменных в массиве, $term->description
. Значение $term->name
- это текст внутри элемента ссылки. Как я могу добавить атрибут href к ссылке, используя третью переменную $term->slug
в том же цикле foreach? Я попытался сделать два отдельных массива и использовать array_combine
, но безрезультатно.Php foreach сортировка с тремя переменными
Вот код, работающий для двух переменных. Чтобы все было ясно, я просто добавил $term->slug
в нужное место.
$terms = wp_get_object_terms($post->ID, $taxonomy);
$a = array();
foreach ($terms as $term) :
$a[] = array($term->name, $term->description, $term->slug);
endforeach;
// print_r($a);
// Array ([0] => Array ([0] => Los Angeles [1] => City [2] => los-angeles) [1] => Array ([0] => San Francisco [1] => City [2] => san-francisco) [2] => Array ([0] => San Diego [1] => City [2] => san-diego) [3] => Array ([0] => United States [1] => Country [2] => united-states))
foreach ($a as $key => $value) {
$return[$value[1]][] = $value[0];
}
foreach ($return as $key => $value) {
echo $key.": <span class='tags'><a href='$term->slug'>".implode('</a></span>,<span class="tags"><a href="$term->slug">', $value)."</a></span>";
}
// Outputs:
// City: Los Angeles San Fransisco San Diego
// Country: United States
Можете ли вы дать мне желаемый результат HTML. $ term-> slug не работает, поскольку $ term находится в первом цикле foreach. –