新聞中心
WordPress刪除文章時(shí)如何自動(dòng)刪除縮略圖和圖片附件
作者 / 無憂主機(jī) 時(shí)間 2015-05-25 23:07:10
網(wǎng)站維護(hù),一個(gè)好的網(wǎng)站需要定期或不定期地更新內(nèi)容,才能不斷地吸引更多的瀏覽者,增加訪問量。網(wǎng)站維護(hù)是為了讓您的網(wǎng)站能夠長(zhǎng)期穩(wěn)定地運(yùn)行在互聯(lián)網(wǎng)上。同樣選擇好的php虛擬主機(jī)提供商也是網(wǎng)站穩(wěn)定的重要部分之一。日常維護(hù)網(wǎng)站其實(shí)不單單至少更新文章這么簡(jiǎn)單,有時(shí)候還是需要把一些時(shí)間比較長(zhǎng)久而且無營(yíng)養(yǎng)的文章清理掉。讓其網(wǎng)站的內(nèi)容實(shí)用性強(qiáng),受到用戶追捧。默認(rèn)Wordpress當(dāng)刪除文章時(shí)是不會(huì)自動(dòng)的刪除縮略圖以及圖片附件的,如果想實(shí)現(xiàn)這類功能很多站長(zhǎng)會(huì)采用最簡(jiǎn)單的方式就是安裝插件實(shí)現(xiàn)。無憂主機(jī)小編本次將給大家介紹通過幾段簡(jiǎn)單的代碼來實(shí)現(xiàn)。 代碼如下:
/* 刪除文章時(shí)刪除圖片附件 /* ------------------------ */ 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');說明 將上述代碼放到主題functions.php文件中即可使用,其在刪除文章時(shí)先執(zhí)行函數(shù)內(nèi)容,刪除特色圖片以及圖片附件,如果在使用action delete_post而不是before_delete_post將導(dǎo)致刪除文章后因媒體附件與文章關(guān)聯(lián)已取消而無法正確刪除。 無憂主機(jī)相關(guān)文章推薦閱讀: WORDPRESS如何去掉谷歌字體 WORDPRESS小修改防御CC攻擊 WORDPRESS圖片加文字/圖片水印插件:DX-WATERMARK
本文地址:http://www.gle-technology.com/wordpress/19494.html