Super post cleaner, может ли это быть конкретной категорией?

Я использовал этот плагин на многих сайтах, и он отлично работает. Он останавливает создание дубликатов сообщений, но сайт, над которым я сейчас работаю, – это клон pinterest, и он не будет работать с repins. Плагин больше не поддерживается, поэтому я здесь спрашиваю. Может ли это быть сделано для работы только по одной категории? У меня есть одна категория, которая работает как блог, остальные категории относятся к pinterest стороне сайта

function superPostCleaner(){ global $wpdb; $prefix = $wpdb->prefix; $wpdb->query("DELETE a.* FROM ".$prefix."posts AS a INNER JOIN (SELECT Greater1.post_title, Titles.ID, Greater1.MinID FROM (SELECT post_title, MIN(ID) AS 'MinID', MAX(ID) AS 'MaxID' FROM ".$prefix."posts WHERE post_type = 'post' AND post_status = 'publish' GROUP BY post_title HAVING COUNT(post_title)>1) AS Greater1 LEFT JOIN (SELECT post_title, ID FROM ".$prefix."posts) AS Titles ON Greater1.post_title = Titles.post_title WHERE ID > MinID) AS b ON a.ID = b.ID WHERE a.ID = b.ID"); } add_action('publish_post', 'superPostCleaner'); 

Ваш код испорчен. Вы никогда не должны удалять сообщения, отправляя SQL непосредственно в БД. Используйте WP_Query, чтобы найти сообщения, которые являются дубликатами, и wp_delete_post, чтобы удалить их.

Ваш текущий метод может генерировать много мусора в БД.

Сторона Примечание. Лучший способ предотвратить дублирование – не дать им возможности создавать их в первую очередь.