Как сделать раскрывающийся список в foreach конкретных данных - PullRequest
0 голосов
/ 11 мая 2019

Мне нужно поместить результаты массива в выпадающий список bs. Как мне это сделать?

Это то, что у меня есть

<?php
$translations = pll_the_languages(array('raw' => 1));

$lang_codes = array();

foreach ($translations as $lang => $info) {

    $lang_codes[$lang] = [
        'slug' => $info['slug'],
        'url' => $info['url'],
        'flag' => $info['flag']
    ];
}

?>

Результат:

array(2) { 
 ["de"]=> array(3) { 
  ["slug"]=> string(2) "de" ["url"]=> string(34) "http://localhost/werk/Mol/de/haus/" ["flag"]=> string(66) "http://localhost/werk/Mol/wp-content/plugins/polylang/flags/de.png" 
 } 
 ["nl"]=> array(3) { 
  ["slug"]=> string(2) "nl" ["url"]=> string(26) "http://localhost/werk/Mol/" ["flag"]=> string(66) "http://localhost/werk/Mol/wp-content/plugins/polylang/flags/nl.png" 
 } 
}

Как вставить этот результат с помощью foreach в раскрывающийся список начальной загрузки, используя слаг в качестве значения и URL в качестве ссылки.

 <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
  <a class="dropdown-item" href="#">Action</a>
  <a class="dropdown-item" href="#">Another action</a>
  <a class="dropdown-item" href="#">Something else here</a>
 </div>

1 Ответ

1 голос
/ 11 мая 2019

Это будет сделано:

echo '<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">';
foreach ( $lang_codes as $info ) {
    echo '<a class="dropdown-item" href="' . esc_url( $info['url'] ) . '">' .
        esc_html( $info['slug'] ) . '</a> ';
}
echo '</div>';

Или вы можете искать это (?), Которое просто перебирает массив $translations без необходимости создания массива $lang_codes:

echo '<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">';
foreach ( $translations as $info ) {
    echo '<a class="dropdown-item" href="' . esc_url( $info['url'] ) . '">' .
        esc_html( $info['name'] ) . '</a> ';
}
echo '</div>';

И в приведенном выше коде я использовал $info['name'] (то есть название языка; см. справочник ), а не $info['slug'], но вы, конечно, можете изменить его, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...