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