I just started using Sitemeter for tracking page visits (everyone seems to use Google Analytics, but I've used Sitemeter before and am satisfied with what I've got). Sort of depressing seeing a "1" for the visit count, but it's new as of today. Creating a widget to put in the sidebar was straightforward, since I've already created one widget:
/*
Plugin Name: Sitemeter Widget
Plugin URI: http://bililite.nfshost.com/blog/2010/12/26/simple-sitemeter-widget/
Description: Display the sitemeter.com badge in the sidebar
Author: Daniel Wachsstock
Version: 1.0
Author URI: http://bililite.nfshost.com/blog
*/
// WordPress 2.8 Widget code based on http://jessealtman.com/2009/06/08/tutorial-wordpress-28-widget-api/
// and http://justcoded.com/article/wordpress-28-multi-widgets/
class Sitemeter_Widget extends WP_Widget{
function Sitemeter_Widget(){
$this->WP_Widget ('sitemeter', __('Sitemeter'), array(
'description' => 'Display the Sitemeter Badge'
));
} // constructor
function widget ($args, $instance){
extract ($args, EXTR_SKIP);
extract ($instance, EXTR_SKIP);
echo $before_widget.$before_title.$title.$after_title;
echo "<!-- Site Meter -->
<script type=\"text/javascript\" src=\"http://$server.sitemeter.com/js/counter.js?site=$account\">
</script>
<noscript>
<a href=\"http://$server.sitemeter.com/stats.asp?site=$account\" target=\"_top\">
<img src=\"http://$server.sitemeter.com/meter.asp?site=$account\" alt=\"Site Meter\" border=\"0\"/></a>
</noscript>
<!-- Copyright (c)2009 Site Meter -->";
echo $after_widget;
} // widget display code
function update ($new, $old){
return array_merge ($old, $new);
} // options update
function form ($instance){
extract ($instance, EXTR_SKIP);
$this->textElement ('title', 'Title', $title);
$this->textElement ('server', 'Server', $server);
$this->textElement ('account', 'Account', $account);
} // control form
function textElement ($index, $text, $value){
$id = $this->get_field_id($index);
$name = $this->get_field_name ($index);
$text = __($text); // localize
echo "<p><label for=\"$id\">$text <input name=\"$name\" class=\"widefat\" value=\"$value\" id=\"$id\" /></label></p>";
} // textElement
} // class Sitemeter_Widget
add_action ('widgets_init', create_function('', 'return register_widget("Sitemeter_Widget");'));
Short and sweet
Leave a Reply