Sentimeter

Allows sentiments (e.g. happy, neutral, outraged etc.) to be attached to comments, aggregated sentiment is available as a pie chart in the admin UI.

Author:Steve Winton | NixonMcInnes (profile at wordpress.org)
WordPress version required:2.9
WordPress version tested:2.9.2
Plugin version:1.0
Added to WordPress repository:24-12-2009
Last updated:24-12-2009
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
Rating, %:0
Rated by:0
Plugin URI:http://wordpress.org/extend/plugins/sentimete...
Total downloads:1 194
plugin download
Click to start download

This plugin allows users to express sentiments (a la getsatisfaction.com, e.g. happy, neutral, outraged etc.) through the WordPress commenting system. Users can also associate their comment with a pre-defined 'topic'. Overall sentiment, and comment topics, can be viewed as pie charts in the admin system, within a user-defined date range. Additionally, comments (along with their sentiment, and topic, if specified) can be exported as a CSV for further offline analysis.

Note that, in order to fully incorporate this plugin, you will need to modify your theme. This is so that theme developers have full control over the markup that is generated. The following Loop-inspired template tags are provided in order to render the defined sentiments and topics:

  • smtr_has_sentiments - determines whether their are any sentiments to display
  • smtr_the_sentiment - initializes the current sentiment for display
  • smtr_the_sentiment_name - echoes the current sentiment name ("Happy", "Neutral", "Outraged" etc.), first escaping any HTML
  • smtr_the_sentiment_value - echoes the current sentiment value ("happy", "neutral", "outraged" etc.), first escaping any HTML
  • smtr_has_topics - determines whether their are any topics to display
  • smtr_the_topic - initializes the current topic for display
  • smtr_the_topic_name - echoes the current topic name ("Help", "Ideas", "Suggestions" etc.), first escaping any HTML
  • smtr_the_topic_value - echoes the current topic value ("help", "ideas", "suggestions" etc.), first escaping any HTML
  • smtr_is_topic_selected - returns TRUE if the current topic should be selected (intended for use when rendering a select formm element with multiple topic options)

One suggested arrangement of these template tags is:

<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
<ul>

    <?php if ( function_exists('smtr_has_topics') ) : // ensure 'Sentimeter' plugin is installed ?>
        <li>
            <?php if ( smtr_has_topics() ) : ?>
            <label for="smtr_topic">This is about</label>
            <select id="smtr_topic" name="smtr_topic">
            <?php while ( smtr_has_topics() ) : smtr_the_topic(); ?>
                <option value="<?php smtr_the_topic_value() ?>"<?php echo smtr_is_topic_selected() ? ' selected="selected"' : ''; ?>"><?php smtr_the_topic_name() ?></option>
            <?php endwhile; ?>
            </select>
            <?php endif; ?>
        </li>

        <li>
            <?php if ( smtr_has_sentiments() ) : ?>
            <fieldset class="radio-group">
                <legend>I'm feeling</legend>
                <ul class="formatRadio">
                    <?php $i = 0; while ( smtr_has_sentiments() ) : smtr_the_sentiment(); ?>
                    <li>
                        <label for="smtr_sentiment_<?php smtr_the_sentiment_value() ?>"><?php smtr_the_sentiment_name() ?></label>
                        <input type="radio" id="smtr_sentiment_<?php smtr_the_sentiment_value() ?>" name="smtr_sentiment" value="<?php smtr_the_sentiment_value() ?>"/>
                    </li>
                    <?php $i++; endwhile; ?>
                </ul>
            </fieldset>
            <?php endif; ?>
        </li>
    <?php endif; ?>
        <li>
            <?php  // Other existing comment fields here (name, email, comment etc.) ... ?>

Screenshots
FAQ
ChangeLog