Most of you probably know Dropbox one of the most popular Web-based file hosting services out there. It is one of the few premium online services I pay for, not only because its a great product and dead easy to use, the Dropbox Team also set up an amazing Voting and Feedback tool to interact with their customers.
Since I am using WordPress mainly as a CMS and wasn’t very satisified with the availaible plugins (too bloated, too many options to my mind) I decided to code my very own lightweight version.
Because of popular demand I recently updated the favorite posts plugin I created a while ago. Since I do not have much time to spare, I wasn’t able to include all features that were suggeste by my readers, but I could implement two that were highly demanded:
- The plugin comes with widget support now
- You can display other peoples favorite posts now (for example on an authors page to display his or her favorite posts)
To take a glimpse how it works you can create an account on my wordpress test installation.
If you like the theme presented there head over to themeforest and download it for a small fee.
Plugin Download is, of course for free, here.
After writing several plugins (for my own website as well as some for my clients) which where rather limited in terms of flexibility and usefulness outside of the different projects, I decided to give something back to the WordPress community and write one available to the public. I made this decision some time ago but didn’t know what to create.
Until now. Some days ago one of my readers (Noura from noupe.com – great site if you are looking for inspiration) asked me if there is a simple way of giving each logged in user the opportunity to create a list of his or her favorite posts.
Since I couldn’t find any plugin that covered the topic I started programing one and now, “some” hours later I present you, without further ado, my first plugin: “my favorite posts”
“My favorite posts” is a WordPress plugin which allows logged in users to add posts they like to a private favorite post list.
This post will teach you how to use the plugin.
Current Version: 1.2
Last Update: October 10th 2008
First of all you need do download the zip file, unzip it and place the fav_me.php file at your server at /wp-content/plugins/.
Last Update: October 10th 2008, Version: 1.2
Installation is rather easy: just activate the plugin, it will create the database table it needs to work on its own.
Using the Plugin
We leave the no-brainer part to learn something interesting now: how to implement the plugin in your theme.
Basically all you need are 2 functions:
mfp_the_link will display an “Add this post to your favorite post list” link wherever you call it. Best practice of course is to add the function anywhere INSIDE your WordPress loop. That will create the add link for each post.
You can pass up to two parameters when calling mfp_the_link().
These are: add_link and remove_link.
The syntax is euqal to many wordpress core functions:
mfp_the_link("add_link=add me please&remove_link=remove me please");
This will replace the default link names with the ones you provide. If you want you can add markup as well:
mfp_the_link("add_link=<span class='add_this'>add me please</span>");
mfp_display will display the list of favorite posts anywhere you like. No WordPress loop required here.
So you can put the list in your sidebar, footer, main content area etc.
Of course you can pass parameters here as well. Calling the function without parameters will create an unordered list: each list item will contain a link to the post and a “remove link”.
The default classes added are:
- ul class: mfp_favorites
- link class: mfp_link
- remove link class: mfp_remove_link
So you don’t like my classes? Or you want to display the items in <div> and <p> instead of <ul> and <li>?
Here are the parameters you may change:
- title : Default is no title
- display : Default is “list” -> you may change it to “div”
- remove_link : Text for remove link, Default is “remove”
- class : Class for ul/div , defaul is “mfp_favorites”
- link_class : Class for the post link, default is “mfp_link”
- remove_link_class : Class for remove link, default is “mfp_remove_link”
- order_by : Order of items, default is ID, you can change that to any field name of the wp_posts table: some examples would be “post_title”, “post_author”, “post_date”. Get the full list at the WordPress Codex.
// Add a h3 title mfp_display("title=<h3>Favorite Posts</h3>") // Display as Div with different class names mfp_display("display=div&class=class_1&link_class=class_2"); // Order by post Title & different remove link text mfp_display("order_by=post_title&remove_link=up up and away");
Another option is to pass the ID of a user to the function. This way it will display another users favorite post list. you can do that by apending the ID as a seperate parameter. The following example would retrieve the posts of user 13 from the database:
One of the best options to use this function would be to show it on the authors page of a user. Just insert the ID of the user dynamically
Another option to display the posts is through the widget added in version 1.2.
Thats it. If you encounter any problems, please tell me via contact form or comments. I would also be glad to hear suggestions for improvements, be it in functionality, usability or code wise.
Have a nice day
v.1.1: 04.06.2008 (major code change, increased flexibility)
v.1.1.1: 10.06.2008 (minor bug fix: broken <a/> tag & php notice)
v.1.2: 10.08.2008 (added widget support and possibility to display other peoples favorite posts)