1

我的客户正在使用 WordPress 进行房地产列表。目前,她没有清理她的列表并且磁盘空间不足。什么 WordPress 配置可以让 WordPress 删除与已删除的页面/帖子关联的图片。就目前而言,我必须记下图片,然后进入媒体库。

4

2 回答 2

1

你也可以把它放在一个独立的文件中,以便在已经删除的帖子之后“清理”

<?php 
/* Short and sweet */
define('WP_USE_THEMES', false);
require('./wp-blog-header.php');

$unattachedmediaargs = array(
'post_type' => 'attachment',
'numberposts' => -1,
'post_status' => null,
'post_parent' => 0
); 
$unattachedmedia = get_posts($unattachedmediaargs);
if ($unattachedmedia) {
foreach ($unattachedmedia as $unattached) {
    wp_delete_attachment( $unattached->ID, true );
            }
}
?>
于 2012-10-21T19:35:48.313 回答
1

这应该可以解决问题...

 function o99_delete_post_children($post_id) {
        global $wpdb;

        $child_atts = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE post_parent = $post_id AND post_type = 'attachment'");

        foreach ( $child_atts as $id )
            wp_delete_attachment($id);
    }
    add_action('before_delete_post', ' o99_delete_post_children');
    add_action('trash_post', 'o99_delete_post_children')

免责声明:从未尝试过,因此请先在非生产环境中测试 - 或使用风险自负...

编辑我:感谢@Dale Sattler 的评论

编辑二:添加add_action('trash_post', 'o99_delete_post_children');以支持管理员列表帖子中的“移至垃圾箱”操作(而不是一一删除)

于 2012-10-21T12:46:34.407 回答