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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top