ACF: использование load_field для предварительного заполнения поля URL-адресом изображения с подвигом сообщений

Я пытаюсь создать настраиваемое поле, в котором при загрузке редактора URL-адрес избранного изображения страниц / сообщений будет заполнен в сообщении, если он существует. Все документы ACF для функции load_field вращаются вокруг использования select, а не обычного текстового поля.

Я пытался сделать что-то подобное:

    function my_acf_load_field( $field ) {
        $file = get_post_meta( $attachment_id, '_wp_attached_file', true );
        $field['feat_image_file_name'] = $file;

        return $field;

    }
    // name
    add_filter('acf/load_field/name=feat_image_file_name', 'my_acf_load_field');

На странице не указывается значение (даже если посту назначено изображение подвига). Любая помощь, чтобы указать мне правильное направление, была бы замечательной. Спасибо.

Я бы разместил этот вопрос на форумах ACF, поскольку они там очень активны. Когда вы получите ответ, вы также можете обновить свой вопрос здесь.

Snazawa 10.01.2019 15:41
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
501
1

Ответы 1

Нашел решение благодаря другому разработчику, который помог мне. Решение ниже:

/* ---------------------------------------------------------------------------
 * AUTO-POPULATE ACF Field with FEATURED IMAGE URL PATH
 * --------------------------------------------------------------------------- */

function getThumbURL()
{
    $myfile = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ));
    $finalresult = "";

    if (count($myfile) > 0 && is_string($myfile[0]))
    {
        // get the domain site url and strip it out of the result for relative path only
        $domain = get_site_url(); 
        $finalresult = str_replace($domain, '', $myfile[0]);
    }
    else
    {
        // Placeholder image if no feat image assigned
        $finalresult = '/dir/to/placeholder/img.jpg';
    }
    return $finalresult;
}

function my_acf_update_value( $value, $post_id, $field  ) {
    $value = getThumbURL();
    return $value;
}

add_filter('acf/update_value/name=feat_image_file_name', 'my_acf_update_value', 10, 3);

Другие вопросы по теме