有没有办法通过编程从WordPress媒体库中删除图片?

时间:2012-11-07 作者:mcometa

这是我的question 这确实解决了我的问题,嗯,有一点。

我注意到我的上传文件夹中仍然有图像,但大小不同。有没有办法删除我上传的图像的所有痕迹?看来wp_delete_attachment 仅删除“附加”的图像,而不删除Wordpress自动创建的其他图像大小。

我使用此函数生成附件ID

function insert_attachment( $file_handler, $post_id, $setthumb=\'false\' ) {

    // check to make sure its a successful upload
    if ($_FILES[$file_handler][\'error\'] !== UPLOAD_ERR_OK) __return_false();

    require_once(ABSPATH . "wp-admin" . \'/includes/image.php\');
    require_once(ABSPATH . "wp-admin" . \'/includes/file.php\');
    require_once(ABSPATH . "wp-admin" . \'/includes/media.php\');

    $attach_id = media_handle_upload( $file_handler, $post_id );

    if ($setthumb) update_post_meta($post_id,\'_thumbnail_id\',$attach_id);

    return $attach_id;  
}
(我是从:http://goldenapplesdesign.com/2010/07/03/front-end-file-uploads-in-wordpress/)

我使用它在前端进行自定义文件上载,而不是使用媒体库进行常规上载。这适用于需要用户上载的站点。

有什么想法吗?

1 个回复
SO网友:Lucas Bustamante

这可以通过以下方式实现wp_delete_attachment( $attachment->ID );

以下是删除与帖子相关的所有附件的示例:

// Delete Attachments from Post ID 25
$attachments = get_posts(
    array(
        \'post_type\'      => \'attachment\',
        \'posts_per_page\' => -1,
        \'post_status\'    => \'any\',
        \'post_parent\'    => 25,
    )
);
foreach ( $attachments as $attachment ) {
    wp_delete_attachment( $attachment->ID );
}

结束

相关推荐

images within style sheet

我希望有人能在这方面帮助我,因为这已经开始让我抓狂了。我已经搜索了好几个小时,想找到一种在我的样式表中放置图像路径的方法,但一直没有找到。路径不能是绝对路径或“主题相关”路径。解决问题的唯一方法是在html文件中添加以下内容:<style type=\"text/css\"> #menu .menu-drop .menu-label { background: url(<?php echo get_template_directory_uri().