WP Movie Ratings
WP Movie Ratings is a wordpress plugin perfect for movie fans who like to let the world know their opinion on what they’ve been watching. At its core is a bookmarklet, which combined with Internet Movie Database and a little bit of AJAX magic lets you rate movies with just one click. Also, there is no need to write the title of the movie as it is automatically fetched from imdb. Optionally, you can also write a short review for each movie. The output from this plugin is a list of recently watched movies, which you can put anywhere you want (it’s a matter of one simple function call from the template). Check out the live demo.
The published movie reviews are hReview compliant.
The current development version can be found at github.
Recently watched movies list:
Bookmarklet in action (one click movie rating):
- WordPress 2.8+
- FTP, SSH or SCP access to your wordpress blog (so you can upload this plugin).
- Download the plugin.
- Extract the contents of the .tar.gz/.zip file into the WordPress plugins directory (usually
wp-content/plugins). Alternatively you can upload them using ftp. You should have a new directory there called wp_movie_ratings (just along the akismet directory).
- Activate the plugin by going into your administration panel and selecting Plugins from the menu and clicking the Activate button for the WP Movie Ratings.
- Go to the Manage section in the administration panel and see the new Movies menu option there (you’ll find the bookmarklet there too). Rate at least one movie (using the bookmarklet or the administration page).
- Go to the settings section in the administration panel and under the Movies tab customize this plugin’s options.
- Edit your blog template (it’s probably the best to edit the
index.phpfile from your current theme) and put this line there:
<?php wp_movie_ratings_show(); ?>
If you want to have movie ratings listed in the sidebar, you must, of course, edit the
sidebar.phpfile from your current theme (be sure to set the sidebar mode in the settings panel too!). Alternatively you can create a new post/page and type it there:
It will create a listing of all rated movies sorted by title.
- Go to your blog and see the movie ratings!
- Download the newest version of the plugin.
- Go to the Plugins section of the administration panel and deactivate the WP Movie Ratings plugin. Don’t worry as it will never ever delete any movie ratings.
- Go to the wp_movie_ratings plugins directory and delete all of the plugin files (should be
wp-content/plugins/wp_movie_ratings). It will not delete any movie ratings (those are saved in the database). Be aware though, that if you’ve made any changes to the plugin, you might consider doing a backup.
- Extract the contents of the .tar.gz/.zip file into the wp_movie_ratings directory (
- Go to the Plugins section of the administration panel and activate the WP Movie Ratings plugin (notice that higher version number of the plugin). The deactivation/activation cycle is required because of the new options that need to be written into the wordpress database (during activation).
- Enjoy life with the newest version of the WP Movie Ratings plugin!
How can I have the ratings box displayed right after the first post?
Assuming you want to have movie ratings displayed on the front page of your blog, edit the
index.php file. Find the line similar to this one:
<?php while (have_posts()) : the_post(); ?>
Change it so it looks like this:
<?php $first_post = true; ?> <?php while (have_posts()) : the_post(); ?>
And then, inside the
while loop find this line:
<?php endwhile; ?>
and make it look like this:
<?php if ($first_post) wp_movie_ratings_show(); $first_post = false; ?> <?php endwhile; ?>
And that should do it.
How can I create a separate page listing all of my movie reviews?
Create new WordPress page by selecting Write Page in the Write menu option of the administration panel and put this line as the page content:
How to I make the imdb link open in a new window?
movie.class.php and change this line:
$o .= "<a class=\"url fn\" href=\"";
$o .= "<a class=\"url fn\" target=\"_blank\" href=\"";
What to do when the rating box is too wide?
Wrap the plugin function call in a fixed width
<div>, like that:
<div style="width: 200px"> <?php wp_movie_ratings_show(); ?> </div>
Your plugin is not working! All I get are
The bookmarklet is not working! Help!
Check if your blog’s home address is the same as your wordpress installation. If it is not (for instance when your website’s address is example.com and there sits your wordpress installation, but your blog is located at blog.example.com), then using this bookmarklet is not possible as that kind of AJAX calls are regarded as XSS and are blocked by Firefox (by default). You need to mess with your wordpress installation for it to work.
I’m using the Markdown plugin and I cannot create a movie ratings page!
Instead of writing:
and if that still does not work for you, wrap the call in a
<p> tag, like this:
or like this:
How can I have the reviews shown when in page mode but hidden while in sidebar mode?
Go into settings in the administration panel and set all of the settings you want to have for the page mode. For the sidebar mode execute the following php code:
<?php wp_movie_ratings_show(6, array("sidebar_mode" => "yes", "include_review" => "no")); ?>
The first parameter of the
wp_movie_ratings_show() function is the number of latest movie reviews to show. The second is the array of additional display options (all are optional). Here is the list of all the options you can set (hash array):
text_ratings– text ratings (like 5/10) instead of the stars,
include_review– include review with each movie rating,
expand_review– initially display expanded reviews when in page mode,
sidebar_mode– compact view for sidebar mode,
five_stars_ratings– display movie ratings using 5 stars instead of 10,
highlight– will highlight the stars of top rated movies,
page_mode– display all movie ratings on a separate page,
page_url– link to the movie reviews page,
char_limit– will cut any character in the title after this number,
only_not_rated– will select only not yet rated movies (‘yes’/'no’),
only_rated– will select only already rated movies (‘yes’/'no’),
order_by– default sort (valid only when used with combination of either ‘only_rated’ or ‘only_not_rated’) (‘title’/'rating’/'watched_on’),
order_direction– default sort direction (valid only when used with combination of either ‘only_rated’ or ‘only_not_rated’) (‘ASC’/'DESC’).
Released and available under the GNU General Public License (GPL) version 2 or later.
- Bugs? What bugs?
- Convert movie ratings from separate database table to normal posts and assign custom tag to hide them from normal content (similarly to the sideblog plugin). Doing this will give us: integrated search for already rated movies, RSS feeds, comments under reviews, permalinks to each review.
- Automatically fetch movie covers from amazon, fetch director, cast, rating, movie language from imdb (when adding a new review).
- Automatic updates through the WordPress plugin administration panel.
Post v2.0 plans:
- Use static methods of Movie class, like Movie::get_watched_movies_count() instead of what I’m doing currently (tested; works in PHP 4.4.x).
- Different color schemes/images for different blog backgrounds (white/black/transparent) using different CSS selectable via panel option.
- Dynamic graph chart showing the votes breakdown.
- Automatic voting on imdb.
- Amazon links ($$).
- Turn the plugin into a widget.
- Bookmarklet working in Internet Explorer.
- Implement vote history import from imdb.com (and somehow solve the watched_on problem as imdb doesn’t tell when the movie was rated).
- Expand on the concept of this plugin being a general rating plugin, which will let you rate books and music too.
- Implement multiple users ratings (for multi-author websites).
- Automatically collect the movies you saw each month/week and post them on the blog.
- full compatibility with WordPress 2.7.*, 2.8.*, 2.9.* and 3.0.*.
- fixed: when ‘only_rated’ or ‘only_unrated’ option was used the ‘count’ argument the for wp_movie_ratings_show() function was ignored.
- removed automatic pingerati.net pinging (pingerati.net is AWOL).
- fixed: fetching movie title from IMDb (after IMDb has changed their website).
- release 1.6.
- added option to add movies without rating them (only through the administration panel) (to create a list of owned just not yet seen dvds, for example).
- added option to select all ‘only_rated’ or ‘only_not_rated’ movies using the wp_movie_ratings_show() function call.
- char_limit option can now be passed as a parameter to the wp_movie_ratings_show() function call.
- fixed problems making the movie reviews pages non XHTML compliant.
- fixed error which prevented certain users from activating the plugin (the database table was not created).
- fixed XHTML validation error in the bookmarklet.
- release 1.5.
- fixed lots of rendering issues (problems in IE, Blue-k2 theme, Golden Gray theme, reviews not expanding, etc.).
- completely rewritten encoding module, so now international characters as well as HTML should work correctly.
- fix for Markdown markup – you can now use the alternate tag:
<!--wp_movie_ratings_page-->to create a movie ratings page.
- new feature: if no imdb link is given, the plugin will not look for the movie’s title on imdb. As a drawback, there can be now movies without imdb links (and without titles…).
- new feature: ability to edit imdb links for already rated movies.
- new feature: added pagination in page mode (so movie reviews can now span among several pages).
- added option to disable pingerati.net pinging.
- added option to highlight top rated movies.
- added link from the recently rated movies list to the page with all movie ratings.
- movies are now grouped together by month when sorting by view date in page mode.
- added default movies sorting options for page mode.
- added a new database field with optional link that is used instead of imdb.
- added option to initially display expanded reviews in page mode.
- added ability to edit movies directly from the displayed ratings list (in page mode too).
- release 1.4.
For previous changes check out the
changelog file within the plugin’s archive.