Support » Kokeneille käyttäjille » Kommentteja moderoitavana blogiin

  • ResolvedModerator hpguru

    (@hpguru)


    Kysyin tätä kaikkialta, kukaan ei vastaa. Helsingin sanomien blogeissa bongattu sivuplkeista tiedon, montako kommenttia odottaa arviointia. Haluan sellaisen itsellenikin mutta en tiedä miten.

    Kiitos.

Esillä 15 vastausta, 1 - 15 (kaikkiaan 15)
  • Moderator Daniel Koskinen

    (@daniel-koskinen)

    Enpä löytänyt minäkään mitään tuohon viittaavaa pikaisella Googletuksella, mutta jos olisi löytynyt noin helposti niin et varmaan kysyisi. 🙂

    Lähinnä tulee mieleen, että tuo tietohan on epäilemättä ongittavissa tietokannasta kustomoidulla SQL-kyselyllä. Comments-tietokantataulussa on ’comment_approved’ -kenttä, jonka arvo on ilmeisesti joko 1 tai 0. En oo kyllä mikään SQL-guru joten joku muu osaisi tässä auttaa paremmin, mutta jos haluat tietoon tiettyyn juttuun liittyvien moderointia odottavien kommenttien määrän, pitäs hakea postin ID:tä vastaavat comment_post_ID:t ja laskea niistä ne joissa comment_approved = 0. Kuka kirjoittaisi tämän SQL:ksi?

    Vähemmän väsyneenä ja flunssaisena voisin vähän perehtyäkin tuohon ja kokeilla tehdä pikku plugarin hommaa varten. 🙂

    Moderator hpguru

    (@hpguru)

    Erityisesti haluan paljonko on yhteensä moderoitavana, jotta lukija tietäisi suuntaa-antavan arvion siitä, että milloin kommentti hyväksytään tai paljonko on moderoitavana yleensäkin.

    Kas näin se käy:

    function odottavia_kommentteja() {
    	global $wpdb;
    	$lkm = $wpdb->get_var("SELECT count(*) FROM $wpdb->comments WHERE comment_approved = 0 AND comment_approved != 'trash' AND comment_approved != 'spam'");
    	return $lkm;
    }

    Ei riitä, että tarkistaa, onko comment_approved 0, muuten se laskee nuo trashatyt ja spämmit mukaan.

    Moderator Daniel Koskinen

    (@daniel-koskinen)

    msaari: eikös se comment_approved = 0 kuitenkin riitä, koska eihän kentän arvo voi olla 0 ja ’trash’ samaan aikaan? Nopean testin perusteella näin vaikuttaisi olevan.

    Ja tervetuloa foorumille! 🙂

    msaari ja Daniel: Pelkkä comment_approved riittää – ohessa kysely, jota WordPress käyttää.

    $comments_waiting = $wpdb->get_var("SELECT count(comment_ID) FROM $wpdb->comments WHERE comment_approved = '0'");

    Niin minäkin luulin, mutta kun kokeilin phpMyAdminin kautta, pelkkä comment_approvedin nolla-arvon tarkistaminen palautti luvun, jossa olivat mukana kaikenlaiset roskat.

    Ah, joo, salaisuus taitaakin olla noissa hipsuissa. Eli pitää olla comment_approved='0', comment_approved=0 laskee mukaan myös ne, joilla ei numeroarvoa ole eli ne, joissa lukee ’trash’ tai ’spam’.

    Tarkkuutta, tarkkuutta.

    Rakensin pluginin, jolla voi näyttää artikkelikohtaisesti, kuinka monta kommenttia odottaa moderointia:

    Lisää seuraava funktio teeman functions.php -tiedostoon:

    function arki_get_pending_comments_num( $post_id ) {
    	        global $wpdb;
    
    	        $pending = $wpdb->get_var( "SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_post_ID = '$post_id'  AND comment_approved = '0'" );
    
    	        if ( empty($pending) )
    	                return 'Ei moderoitavia kommentteja';
    
    				if( $pending == 1 ) {
    					return '1 kommentti odottaa moderointia';
    				}
    				else {
    					return $pending . ' kommenttia odottaa moderointia';
    				}
    	}

    Kutsu funktiota esimerkiksi index.php tai single.php-tiedostossa seuraavasti:

    <?php echo arki_get_pending_comments_num(get_the_ID()); ?>

    Moderator hpguru

    (@hpguru)

    Kiitoksia, tuota olen hakenut, kokeilen heti!

    Moderator hpguru

    (@hpguru)

    Kiitos toimii, juuri se mitä olin etsimässä.

    Laitoitko toimintaan julkiselle sivustolle? Olisi mukava nähdä toiminnassa!

    Moderator hpguru

    (@hpguru)

    Laitoin. Pariinkin blogiin.

    Esim. http://hpguru.net/nain-tehdaan-radiota-venajalla/ tuolla missä on Jätä kommentti, niin sen alla. Voit vaikka lähettää jonkun testikommentin. Nyt ei ole moderoitavana mitään.

    Moderator hpguru

    (@hpguru)

    Tämä vain näyttää artikkelokohtaisesti noita. Saisiko kaikkien artikkelien moderoitavat kommentit? Esim. jos blogissa on yhteensä 20 moderoitavaa eri artikkeleista, niin ne näkyisi jokaisen artikkelin ja sivun kommentointivalinnan tekstissä.

    Moderator hpguru

    (@hpguru)

    Sainkin itse jo tuon minulle sopivaksi, piti vain poistaa pieni pätkä tuosta koodista.

    Moderator hpguru

    (@hpguru)

    Saisiko tänne avatarkuvat näkymään?

    Moderator Daniel Koskinen

    (@daniel-koskinen)

    hpguru: ei vissiin, foorumi käyttää WP.orgin teemaa, eikä hallintapaneelissa ole avatareihin liittyviä asetuksia. 🙁

Esillä 15 vastausta, 1 - 15 (kaikkiaan 15)
  • The topic ‘Kommentteja moderoitavana blogiin’ is closed to new replies.