以编程方式将图像上载到Wordpress

问题描述 投票:0回答:1

我正在尝试以编程方式将图像上传到媒体库,方法是使用ACF网址,通过Wordpress功能运行它,然后更新分类字段。

我知道$icon是正确的URL并且update_field函数是正确的。

出错的部分是上传图片部分。我认为我已经正确地遵循了documentation,但是没有图像上传到库中,并且没有任何内容连接到分类法上的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 );
    }
php wordpress
1个回答
0
投票

我实际上找到了一个非常简单的方法......它并没有解决我的问题,因为我已经采用了不同的方式。

媒体项的URL显然已经存在于媒体库中。因此,我只需要通过网址查看它的项目ID。

    // 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 );
    }
© www.soinside.com 2019 - 2024. All rights reserved.