• 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. 🙂

    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()); ?>

    Kiitoksia, tuota olen hakenut, kokeilen heti!

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

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

    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.

    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ä.

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

    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.