WooCommerce图像正在上载到服务器,但未附加

时间:2015-11-15 作者:Chen Chiu

我创建了一个脚本,可以从外部站点获取图像,并将其导入WordPress图像库。->wp管理/上传。php[媒体库]

Media Gallery

The Product itself

我的代码Snipplet

foreach($url as $linkurl) {
    $tmp = download_url( $linkurl);

    preg_match(\'/[^\\?]+\\.(jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG)/\', $linkurl, $matches);

$clean = str_replace(array("%2B", "%52", "%20", "%5"), "B", basename($matches[0]));

$file_array = array(
    \'name\' => basename( $clean ),
    \'tmp_name\' => $tmp
);

if ( is_wp_error( $tmp ) ) {
    @unlink( $file_array[ \'tmp_name\' ] );
    return $tmp;
}

$id = media_handle_sideload( $file_array, $post_id, \'gallery desc\' );


$value = wp_get_attachment_url( $id );

update_post_meta($post_id,  array_push($post_id, \'_product_image_gallery\', $id));

//update_post_meta($post_id,  array_push($post_id, \'_product_image_gallery\', $value ));

}
我做错了什么

1 个回复
SO网友:labm0nkey

我认为你在最后一行中犯了一个错误。array_push 没有达到你想要达到的目标(检查Manual) 与相同update_post_meta 接受不同的参数<除此之外,WooCommerce还在简单的逗号分隔列表中存储库,如1,45,78,34 因此,您应该更改最后一行update_post_meta($post_id, array_push($post_id, \'_product_image_gallery\', $id));

update_post_meta($post_id, \'_product_image_gallery\', $id);
或者,如果您添加了多个图像,请输入逗号分隔的列表,而不是$id。

相关推荐

Organizing media uploads

我的一个客户想把他的WordPress网站转移到我的服务器上。问题是他的网站没有在他的上传文件夹中使用子文件夹,而他上传文件夹的根目录中有超过1000000个文件。有没有一种方法可以将他的所有帖子上传到文件夹中,而不会丢失帖子中的附加链接和特色图片?