Я создаю сайт для книжной издательской компании. У них есть книги на разных языках, и они хотят показать некоторые детали для каждого языка. Чтобы получить всю необходимую информацию для каждого языка, я делаю следующее:
<div class="col-lg-3" align="center">
<?php
$fields = get_field_objects();
if ($fields):
foreach ($fields as $name => $field):
if (stripos($name, 'isbn') !== false) : ?>
<?php $lang = substr($field['name'], strpos($field['name'], "_")); ?>
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" href="#collapse1<?php echo $lang ?>">Deutsch/<?php echo substr($field['label'], strpos($field['label'], " ") + 1); ?></a>
</h4>
</div>
<div id="collapse1<?php echo $lang ?>" class="panel-collapse collapse">
<div class="panel-body">
// ... get all neccessary information ...
</div>
</div>
</div>
</div>
<?php endif;
endforeach;
endif; ?>
</div>
Теперь моя проблема в том, что если кто-то создает книгу, забывает добавить язык и хочет добавить его после сохранения книги в базе данных, алфавитный порядок больше не является правильным.
Поэтому я хотел бы добавить функцию сортировки для массива $ fields.
сортировка ($ fields) не работает, так как после этого все пусто.
Вот скриншот того, как выглядит вывод.
А иногда, неправильный порядок (например, Deutsch / English появляется внизу). Поэтому мне придется отсортировать часть, где я добавляю второй язык (рядом с немецким). Часть, где я добавляю это здесь:
<h4 class="panel-title">
<a data-toggle="collapse" href="#collapse1<?php echo $lang ?>">Deutsch/<?php echo substr($field['label'], strpos($field['label'], " ") + 1); ?></a>
</h4>
У кого-нибудь есть идеи? Пожалуйста, дайте мне знать, если код отсутствует!
P.S. плагин, который я использую, это «Advanced-Custom-Fields» и такие функции, как, например, get_field_objects () поставляется с этим плагином!