WordPress删除文章时自动删除特色图像及附件
WordPress删除文章时默认是不会自动删除文章附属的特色图像及附件的。如果你的网站是个多作者或编辑发布文章,所有文章需要审核通过才能发布,而审核时就可能需要删除比较多的文章,但是如果删除文章每次都需手动删除特色图像及附件就会非常麻烦。即使是自己一个人的网站删除文章再手动删除附件也是怪麻烦的事。所以,我们有必要在删除文章的同时让程序自动删除特色图像及附件。以下是具体方法:
/* 删除文章时自动删除特色图像及附件 代码来源: www.wpzxbj.com */ function delete_post_and_attachments($post_ID) { global $wpdb; //删除特色图片 $thumbnails = $wpdb->get_results( "SELECT * FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' AND post_id = $post_ID" ); foreach ( $thumbnails as $thumbnail ) { wp_delete_attachment( $thumbnail->meta_value, true ); } //删除附件 $attachments = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE post_parent = $post_ID AND post_type = 'attachment'" ); foreach ( $attachments as $attachment ) { wp_delete_attachment( $attachment->ID, true ); } $wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' AND post_id = $post_ID" ); } add_action('before_delete_post', 'delete_post_and_attachments');
代码说明:请将以上代码插入主题function.php文件保存即可。程序将在删除文章之前先删除特色图像及附件,然后再删除文章。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END