我想將此功能添加到以下代碼中,以便它還刪除具有相同元鍵值的帖子。換句話說,有一個meta key'source_link',我想刪除'source_link'具有相同值的重複項。 這是當前的代碼:使用SQL刪除具有相同元鍵值的重複帖子
$wpdb->query("
DELETE double_posts.*
FROM $wpdb->posts as double_posts
INNER JOIN (
SELECT post_title, MIN(id) as min_id
FROM $wpdb->posts
WHERE (post_status = 'publish'
AND post_type = 'post')
OR (post_status = 'published'
AND post_type = 'post')
GROUP BY post_title
HAVING COUNT(*) > 1
) AS orig_posts ON orig_posts.post_title = double_posts.post_title
AND orig_posts.min_id <> double_posts.id
");
目前,它僅僅指剛刪除重複的文章標題的帖子。我想保留這一點,然後通過重複元鍵值添加刪除。這裏的任何幫助都會很棒!謝謝。
我剛更新了帖子。該代碼運行良好,它只能刪除重複標題的帖子。我希望通過重複標題和元鍵值來刪除帖子。我問後者。 – arian1123 2014-11-01 00:24:26
嘗試收集所有需要刪除的帖子的ID並使用[wp_delete_post](http://codex.wordpress.org/Function_Reference/wp_delete_post),因爲該功能將刪除與帖子相關的所有與該帖子相關的數據。 – Danijel 2014-11-01 00:56:11
你的sql只會選擇其中一個重複項,如果你有2個,那麼你會得到3個或更多... – doublesharp 2014-11-01 00:57:58