對(duì)于我們?cè)诰S護(hù) WordPress 內(nèi)核的網(wǎng)站時(shí)候,有些文章可能需要?jiǎng)h除,但是同時(shí)文內(nèi)的圖片和附件還在網(wǎng)站中會(huì)占用服務(wù)器的空間,最好的辦法肯定是一并刪除。當(dāng)然,默認(rèn)如果沒(méi)有特殊處理的話(huà),是需要我們單獨(dú)的到媒體庫(kù)中刪除對(duì)應(yīng)的圖片的。
這里有沒(méi)有辦法可以在刪除文章的時(shí)候同時(shí)自動(dòng)刪除內(nèi)容中自帶的附件和圖片。
/* 刪除文章自動(dòng)刪除文內(nèi)的圖片和附件 */ 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');
這里將內(nèi)容添加到當(dāng)前主題的 Functions.php 文件,需要徹底刪除文章才會(huì)被刪除。
評(píng)論