CoolHeart
@CoolHeart
Junior FrontEnd developer

Как в WordPress вытянуть все значения произвольных полей всех постов?

Здравствуйте! Стоит задача вывести значения определенного произвольного поля, но только не для текущего поста, а со всех постов/страниц. Т.е. к примеру есть поле author и нужно вывести списком всех авторов со всех страниц. Если имеет значение, то поля создавались с помощью плагина ACF.
  • Вопрос задан
  • 286 просмотров
Решения вопроса 1
Kozack
@Kozack Куратор тега WordPress
Thinking about a11y
Не знаю есть ли у ACF соответствующий API. Но для такой задачи наиболее производительным будет прямая работа с БД.
Читайте про wpdb, wp_cache_set и wp_cache_get
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
it_proger29
@it_proger29
Битрикс
Тоже искал ответ на этот вопрос, хочу поделиться ответом. Код взял из плагина https://ru.wordpress.org/plugins/custom-field-finder/. Обзор на плагин https://wptuts.ru/najti-proizvolnye-polja/
$customs = get_post_custom(ID);
foreach ( $customs as $key => $val ) {
            echo '<tr>';
            echo '<td>', esc_html( $key ), '</td><td>';
            if ( count( $val ) === 1 ) {
                    $val = maybe_unserialize( $val[0] );
                    if ( ! is_array( $val ) ) {
                            echo esc_html( $val );
                    }
                    else {
                            echo '<pre>', esc_html( print_r( $val, 1 ) ), '</pre>';
                    }
            }
            else {
                    foreach ( $val as $v ) {
                            echo esc_html( $v ), '<br/>';
                    }
            }
            echo '</td></tr>';
            echo '</tr>';
    }

yXCwvb4.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы