Программно загрузить изображение в Wordpress - PullRequest
0 голосов
/ 27 февраля 2019

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

Я точно знаю, что $iconправильный URL-адрес и функция update_field правильные.

Часть, которая работает неправильно, является частью загружаемого изображения.Я думаю, что я правильно следовал документации , но в библиотеку не было загружено ни одного изображения, и к полю ACF в таксономии ничего не подключено.

Куда я иду не так?

    // Icon
    $icon = get_field('icon', $term->taxonomy . '_' . $term->term_id);
    $field_key = "field_5ad5e7e5e295c";

    if($icon != "") {
      // The ID of the post this attachment is for.
      $return = "id";

      // Make sure that this file is included, as wp_generate_attachment_metadata() depends on it.
      require_once(ABSPATH . 'wp-admin/includes/media.php');
      require_once(ABSPATH . 'wp-admin/includes/file.php');
      require_once(ABSPATH . 'wp-admin/includes/image.php');

      // Generate the metadata for the attachment, and update the database record.
      $attach_id = media_sideload_image($icon, $post_id, $desc, id);


      update_field( $field_key, $attach_id, $taxonomy.'_'.$french );
      update_field( $field_key, $attach_id, $taxonomy.'_'.$german );
      update_field( $field_key, $attach_id, $taxonomy.'_'.$italian );
      update_field( $field_key, $attach_id, $taxonomy.'_'.$russian );
      update_field( $field_key, $attach_id, $taxonomy.'_'.$spanish );
    }

1 Ответ

0 голосов
/ 27 февраля 2019

Я действительно нашел очень простой способ ... он не решает мой вопрос как таковой, поскольку я подошел к нему по-другому.

URL-адрес элемента мультимедиа, очевидно, уже существуетв медиа-библиотеке.Поэтому мне просто нужен идентификатор предмета, посмотрев через URL.

    // Icon
    $icon = get_field('icon', $term->taxonomy . '_' . $term->term_id);
    $field_key = "field_5ad5e7e5e295c";

    if($icon != "") {

      $item = attachment_url_to_postid( $icon );

      update_field( $field_key, $item, $taxonomy.'_'.$french );
      update_field( $field_key, $item, $taxonomy.'_'.$german );
      update_field( $field_key, $item, $taxonomy.'_'.$italian );
      update_field( $field_key, $item, $taxonomy.'_'.$russian );
      update_field( $field_key, $item, $taxonomy.'_'.$spanish );
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...