Wenn ich diesen Code auf meiner wp_posts Tabelle (mit phpmyadmin) ausführen, gibt es einen einzigen doppelten Post zurück.Wie lösche doppelte Wordpress Posts in DB
SELECT a.ID, a.post_title, a.post_type, a.post_status
FROM wp_posts AS a
INNER JOIN (
SELECT post_title, MIN(id) AS min_id
FROM wp_posts
WHERE post_type = 'post'
AND post_status = 'publish'
GROUP BY post_title
HAVING COUNT(*) > 1
) AS b ON b.post_title = a.post_title
AND b.min_id <> a.id
AND a.post_type = 'post'
AND a.post_status = 'publish'
Beachten Sie, dass diese gegeben Beitrag ist eigentlich kein Duplikat ist, hat es nur den gleichen Titel wie ein anderes (ein normales Verhalten angesichts der oben stehenden Code für doppelte Titel aussieht). Das Problem ist jedoch, dass es tatsächlich Hunderte von doppelten Posts in der Datenbank gibt (ich kann sie sehen, wenn ich manuell nachschaue), also warum kann ich sie nicht mit dem obigen Code finden?
- ich auch die beiden doppelten Beiträge aus dem Wordpress-Admin-Panel ...
- Ich habe auch versucht ein paar Wordpress Plugins zu verwenden sehen und sie alle die gleiche doppelte Post wie der Code oben gefunden, aber keiner von die Anderen).
Edit: Wenn ich zwei Zufalls Duplikate suchen, hat man:
ID 9462
post date 2017-03-07 13:06:31
post content "foo"
post title "Les pendules à l'heure"
post status "publish"
post type "post"
guid "http://www.exemple.com/?p=9462"
Der andere hat:
ID 11409
post date 2017-03-07 13:06:31
post content "foo"
post title "Les pendules à l'heure"
post status "publish"
post type "post"
guid "http://www.exemple.com/?p=9462"
Dank
wenn Sie manuell Schau dir die Datenbank an, überprüfst du post_type und post_status deine Suchanfrage? –
Ich habe weitere Informationen in meinem Beitrag hinzugefügt. Ja, post_type und post_status passen zusammen. @lan Kenney – CharleyB0y
@Lan Kenney, Sorry ... Ich habe gerade meinen Post bearbeitet ... Es sieht so aus, als würden sie übereinstimmen, wenn sie im Browser angezeigt werden, aber wenn ich mir den Code anschaue, hat der eine "" "während der andere hat . Vielleicht muss ich zuerst die Sonderzeichen reparieren? Welchen sollte ich in meiner Datenbank behalten? Das "'" oder das '? – CharleyB0y