技術文檔
WordPress如何刪除文章同時自動刪除縮略圖及圖片附件
WordPress刪除文章時,文章內所上傳到媒體庫的圖片等附件不會自動刪除,占用了網站空間(雖然主機之家測評用的是vps,但是還是有很多人用了虛擬主機,空間有限),因此下面說明通過幾行代碼的簡單方式實現在刪除文章時自動刪除縮略圖以及圖片附件,這樣就不用手動去媒體庫尋找并刪除,準確而且效率高。
代碼如下?復制/** * WordPress刪除文章同時自動刪除縮略圖及圖片附件 * https://www.31idc.com */$post_ID" );foreach ( $thumbnails as $thumbnail ) {wp_delete_attachment( $thumbnail-gt;meta_value, true ); }//刪除圖片附件$attachments = $wpdb-gt;get_results( "SELECT * FROM $wpdb-gt;posts WHERE post_parent = $post_ID AND post_type = attachment" );foreach ( $attachments as $attachment ) {wp_delete_attachment( $attachment-gt;ID, true );}$wpdb-gt;query( "DELETE FROM $wpdb-gt;postmeta WHERE meta_key = _thumbnail_id AND post_id = $post_ID" );}add_action(before_delete_post, delete_post_and_attachments);
說明將上述代碼放到主題functions文件中即可使用,
其在刪除文章時先執行函數內容,刪除特色圖片以及圖片附件,如果在使用action delete_post而不是before_delete_post將導致刪除文章后因媒體附件與文章關聯已取消而無法正確刪除。