A few weeks back, I read a post from Damien Guard on his favorite WordPress plugins. While reading over his list, I felt BlogEngine.NET really had them all cover and then I got the last one, WP-PostViews. The plug in as you might guess, counts, post views and has a side bar widget for displaying the most popular content. Damien writes:
Another visitor-retention seeking effort. By presenting the most popular content in the sidebar I'm hoping to entice people to look at a couple of other posts and hit the magic RSS subscribe button.
Well, I decided to whip up the BlogEngine.NET version which consists of an extension to count the post views and a widget to use in your theme. The extension could certainly be more elegant, but it gets the job done.
The widget is a little more complex, but not much. It reads in the counters, determines the top posts, and displays them in a list. You can control how many of the top post will display in the widget with the Top property (which is expecting an integer of how may posts to display). There is also a ShowViewCount property which is expecting a true or false. If you set it to true, it will show the world the actual post counts it is generating. If you set it to false, it is only visible when you are logged in. (Note: The top posts are cached and will only update on your site every 30 minutes. No point in calculating these number too frequently.)
To set this up, download the files below and unzip them. The extension file (TopPosts.cs) needs to be placed in your extensions folder which is at App_Code/Extensions. The Widget files should go in the theme you plan to add the widget to. Once you have the widget files in the theme folder, you can go ahead and add the widget to the site.master file or wherever you'd like. The correct syntax for the user control will look something like the following.
<%@ Register src="TopPosts.ascx" TagName="topPosts" TagPrefix="uc3" %>
<uc3:topPosts ID="TopPosts1" runat="server" Top="5" ShowViewCount="false" />
If you have issues installing the widget, please see the Installing the Quote of the Day widget screencast. The process is very similar.
I put together a screencast on the creation of the extension and was planning to do the same for the widget, but they seem so simple and redundant, I'm not sure I'll follow through with completing them. Let me know if you are interested in these. If there is enough interest, I'll make them happen.