Ripristino conteggio commento
Domanda
Di recente, ho dovuto spostare in un altro dominio e ha dovuto ricreare tutte le mie tabelle MySQL sul server ENW. Ho notato che per alcuni posti, il numero di commenti è raddoppiato. Esempio - http://inversekarma.in/scraps/you-dont-mess-with-the -rajinikanth / .
Nel post di cui sopra, ci sono solo 4 commenti, ma le scarpe Numero commenti 8 commenti. Non sono sicuro che non è un problema sul tema-correlato, come questo avviene solo per un paio di messaggi.
qualcuno può mostrarmi come scrivere una query MySQL per raccontare i commenti per tutti i messaggi? O forse un plugin?
Soluzione
Prova questo codice:
ATTENZIONE: questo è solo pseudo
$entries = $wpdb->get_results("SELECT * FROM wp_posts WHERE post_type IN ('post', 'page')");
foreach($entries as $entry)
{
$post_id = $entry->ID;
$comment_count = $wpdb->get_var("SELECT COUNT(*) AS comment_cnt FROM wp_comments WHERE comment_post_ID = '$post_id' AND comment_approved = '1'");
$wpdb->query("UPDATE wp_posts SET comment_count = '$comment_count' WHERE ID = '$post_id'");
}
si potrebbe desiderare di provare la soluzione da questa pagina (anche se non è il modo corretto come potrete aggiungere un'altra query per ogni post)
Altri suggerimenti
sembra essere un problema comune. Prova questo plugin:
http://wordpress.org/extend/plugins/web-ninja-comment- count-fixer /
C'è un'API Wordpress solo per questo: wp_update_comment_count ($ post_id, $ do_deferred) . Certo, opera su un singolo post, anche se ha un meccanismo di differimento di accumulare molti di loro e solo aggiornare il conteggio in una sola volta.