Цикл по всем полям ACF, ключ которых начинается с определенной строки

У меня есть несколько настраиваемых полей в некоторых сообщениях, и я назначил некоторым из них ключи с уникальными значениями: 'field_tab_' . uniqid()

Я хотел бы перебрать все поля ACF, ключ которых начинается с определенной строки field_tab_.

Это то, что у меня есть, но я не могу понять, как проверить определенную строку в ключе.

<?php
$fields = get_field_objects();
if( $fields ): ?>
    <ul>
        <?php foreach( $fields as $field ): ?>
            <li><?php echo $field['label']; ?>: <?php echo $field['value']; ?></li>
        <?php endforeach; ?>
    </ul>
<?php endif; ?>

Я также могу использовать имя вместо ключа, если это облегчит задачу.

Как лучше всего это сделать?


person lastnoob    schedule 14.11.2019    source источник


Ответы (1)


Если $field[label] является ключом и содержит строку field_tab_, попробуйте следующее:

    <?php
    $fields = get_field_objects();
    if( $fields ): ?>
        <ul>
            <?php foreach( $fields as $field ): ?>
                <?php if(strpos($field[label],'field_tab_') { ?>
                    <li><?php echo $field['label']; ?>: <?php echo $field['value']; ?></li>
                <?php } ?>
            <?php endforeach; ?>
        </ul>
    <?php endif; ?>

https://www.php.net/manual/de/function.strpos.php

Код не отмечен.

person Uklove    schedule 14.11.2019