Tags: Releases, WordPress
MostWanted - a Popular Posts Plugin for WordPress
November 24th, 2004, by Rich.
Warning: apache_lookup_uri() [function.apache-lookup-uri]: Unable to include '/pics/2005/mostwanted/mostwanted' - error finding URI in /home/www/boakes.org/htdocs/mods/plugins/boakes-depicticon.php on line 65
This WordPress Plugin which lists the most popular posts in a blog, according to the records held by StatTraq…
MostWanted lists the most popular posts on a wordpress powered weblog. This list can be used in the sidebar to provided visitors with an indication of what are the most visited pages.
It’s grown a little since it’s original release so it has a subtle API change. Where previously it was called “rjb_mostwanted”, it is now “MostWanted::mostwanted”. Currently there is a wrapper around the old method name so that it still works, however this will be removed in future releases.
Installation
Download this file- Rename it mostwanted.php and copy it to your
/wp-content/pluginsfolder. - using wp-admin, enable the plugin
Usage
The plugin provides one method of interest: MostWanted::mostwanted($top_n, $trim_chars, $showviews). The three parameters are:
$top_n
the number of results to list default = 5$curtail
0 for no text curtailment, or ‘n’ the number of characters from each post title that shoudl be displayed. e.g. Curtailing “My Dynamic Badger” to 10 characters would read “My Dyna…”.
default = no curtailment$showviews
true if the number of times each post has been viewed should be included in the list.
default = false$show_views_in_tt
TT is short for ToolTip setting this value to true includes the number of views as part of the tool tip. i.e. if you hover over the text the (1234 distinct viewers) message is shown.
default = true$duration
restricts the duration of the query period so that only the last $duration days are considered when measuring popularity. e.g. a value of 30 would return the number of users only within the last 30 days. Leaving the value unset, or 0, results in the all-time results being returned.
default = 0 (all-time)$pre
this is a text string that is added to every line.
default = <li>$post
this is a text string that is added to every line.
default = </li>$method
there are two ways of identifying unique visitors, neither of which are perfect, the default is to recognize only unique IP addresses, which means that if several people from one company visit, then they may show as a single user. Alternatively, using the session_id is not perfect because some users refuse to set cookies.
default = ip, alternative = session$as_percentage
if set to true, then the number of hits for each page as a percentage of the site total is displayed instead of the hit count itself. This may be desirable if you want to show popularity without letting on how many hits you get for each story.
default = false$timeout
adjusts how long the most-wanted information is cached for before being replenished from the db. A value of0(zero) will result in fresh data being retrieved for every query, whereas a value of3600will only query the database once every hour, cacheing the output and thus reducing DB load.
default = 1800
The simplest way to use the plugin is therefore to augment your page with:
<ul>
<?php MostWanted::mostwanted(); ?>
</ul>
A more tuned version might read:
<ul>
<?php MostWanted::mostwanted(7, 30, true); ?>
</ul>
License
MostWanted is released under a Creative Commons License.
Credits
If you find MostWanted useful, please feel free to link or a trackback to this entry.
Thanks to everyone whose commented with problems, solutions & suggestions, especially:
- Ben Gracewood whose previous suggestion here gave me enough of a head start that I was able to come up with the relevant SQL query.
- Randy Peterman
- Darryll Van Dorp
- Michelle Li
- Rodney Shupe
- Mike Smith


June 17th, 2005 at 3:04 pm
wow, thanks for the quick update!
i’m @ work right now so i can’t access my yahoo account or server for that matter to implement the update yet.
I’ll test it out as soon as i get home and let you know how it goes.
again thanks for the help and the great plug in
June 17th, 2005 at 5:47 pm
June 22nd, 2005 at 3:52 am
i tried installing this plugin on wordpress 1.5, i had to rename the .phps plugin file to .php to get my plugin directory to recognize it, after that it outputs all th e plugin source to my plugin directory, i usually associate this with broken plugins, any ideas?
June 22nd, 2005 at 7:35 am
Good catch, thanks. I’ve updated the installation instructions. You need to rename the file so that it has a .php extension, after which it should work without complication. Let me know if that isn’t the case.
June 27th, 2005 at 12:51 pm
I am having the same issue as nick. I rename the file to php and drag it in to my plugins folder.
i go to the plugins menu of wordpress… all the code of the plugin is written in there !!!!!!!… and it makes that page massive :)
There must be an error somewhere in the code?
Cheers
June 29th, 2005 at 8:19 pm
To Ali and Nick, it may depend on what browser you are using to download. Not sure why, but when I downloaded using Safari I had the same problem you did; I tried this via both downloading the linked file and opening the link and saving as text. When I used IE (Mac) and saved the page as text, then changed the filename, it appeared correctly on WP’s plug-in page. I did not try just downloading the file with IE.
Again, I have no explanation … but it does work.
June 30th, 2005 at 12:16 am
I have 0.1.2 running but get the “no results available” message. I’m not sure whether the issue is in StatTraq or Mostwanted — in StatTraq all pages are being classed as “Multiple Posts,” which I believe is our main page. Although I know from another stats program that we’re getting many hits to permalink pages, these seem to all be rolled into this “multiple posts” group. So would that cause the “no results” message, or is something else going on in MostWanted?
For what it’s worth, our permalink pages are in the format yyyy/mm/dd/title. Also, the blog is in a subdirectory (as in Garnet’s 6/7 post) but that subdirectory has its own domain. I couldn’t see any place where this would affect the path to index.html.
Does anyone have any ideas?
July 3rd, 2005 at 1:27 pm
why do i get
” Fatal error: Call to undefined function: popular() in /home/me/public_html/blog/wp-content/themes/ocadia/sidebar.php on line 38 ”
did i miss some configuration ?
July 3rd, 2005 at 2:49 pm
Hi Rakhmat - I think the problem is that you’re calling a method called
"popular()", and the MostWanted plugin does not have such a method. If you change your call to readMostWanted::mostwanted()then it should work… assuming you’ve activated the MostWanted plugi, and already have StatTraq installed.July 3rd, 2005 at 3:12 pm
Looking at Rakhmat’s blog I noticed that there’s a problem with an empty “$duration” value (argument 5), so I’ve just modified the code and released version 0.1.3.