0
可以說我有一個自定義元字段稱爲「首次亮相」,我希望x天后數天(例如30天)它是從後/數據庫中刪除,但帖子仍然是保持完整,沒有「首次亮相」的價值。我會怎麼做呢?WordPress的自動刪除自定義元字段
可以說我有一個自定義元字段稱爲「首次亮相」,我希望x天后數天(例如30天)它是從後/數據庫中刪除,但帖子仍然是保持完整,沒有「首次亮相」的價值。我會怎麼做呢?WordPress的自動刪除自定義元字段
我想創建一個簡單的插件,掛鉤的WordPress的負載狀態,只是刪除該帖元,滿足您的審覈規定...
add_action('wp_loaded', 'cleanup_expired_meta');
function cleanup_expired_meta(){
global $wpdb;
$wpdb->execute('DELETE FROM '.$wpdb->prefix.'posts_meta WHERE [conditions]');
}
沒有測試,就得到了我的頭頂部,becareful你與該做的事,可能是危險的,並刪除所有帖子METAS ... :)
這將是完整的請求,記壽,有沒有當加入一個META日期。所以我正在採取帖子的最後修改日期。但是,如果用戶修改了帖子,那麼在另外30天之前,元不會被刪除。
DELETE FROM `wp_posts`
LEFT JOIN wp_postmeta ON wp_postmeta.post_id = wp_posts.id
LEFT JOIN wp_postmeta AS releasedate ON releasedate.post_id = wp_posts.id AND releasedate.meta_key = "release-date"
WHERE wp_postmeta.meta_key = "Debut"
AND DATE_ADD(releasedate.meta_value, INTERVAL 30 DAY) < NOW()
注意,我不知道這會工作,因爲meta_value的數據類型爲VARCHAR,但如果轉換工作,也許它不會甩開錯誤。
謝謝您的快速響應,我有2個後續問題。我如何將30天后的「debut」標籤設置爲過期,以及我在哪裏可以在剛剛提供的代碼中插入「debut」標籤? – Craig
我有另一個名爲「發佈日期」的自定義字段,我可以使用它作爲參考日期,因此我將使用該日期而不是修改日期。使用「發佈日期」值而不是修改日期我想代碼看起來像這樣? – Craig
{SELECT * FROM 'wp_posts' LEFT JOIN wp_postmeta ON wp_postmeta.post_id = wp_posts.id WHERE wp_postmeta.meta_key = 「出道」 AND DATE_ADD(wp_posts.post_releat-日期,INTERVAL 30 DAY)
Craig