WordPress Plugin: My favorite posts

Freebies, WordPress Plugins Jun 04, 2008 165 Comments

“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

Download

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/.

Download
Last Update: October 10th 2008, Version: 1.2

Installation

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:

  1. mfp_the_link();
  2. mfp_display();

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.

Some examples:

// 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:

mfp_display("order_by=post_title",13);

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 ;)

Version History:

v.1.0: 03.06.2008
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)

Set a Guinness World Record – Enjoy a Better Web

Article, Miscellaneous May 30, 2008 1 Comment

This is the slogan spreadfirefox.com uses to promote the release of Firefox 3. The evil master plan is to make Firefox 3 the most downloaded software in 24 hours and therefore increasing its popularity.

And since I love Firefox with its myriads of plugins and themes which make developing websites so much easier I thought I could spread the word.

Participating is really easy: just download Firefox3 the day it is released. Release date will be announced soon, if you want to you can pledge to download the browser, spreadfirefox will inform you via mail when to download…

WordPress: how to separate comments and trackbacks

Tutorials, Wordpress Tutorial May 29, 2008 46 Comments

Today I read an interesting article on NETTUTS which claims to unravel the Secrets of WordPress & Comments.php File. This is actually pretty true, the author did a good job at explaining the different functions, comment loops, and form elements.

The one thing I really missed was an explanation on how to separate comments from trackbacks. Discussing on a blog with tons of trackback posts between the ongoing discussion is really annoying.

Read more »

Admin login on your front page

Tutorials, Wordpress Tutorial May 23, 2008 44 Comments

Last week I showed you how to create a menu which reveals itself only to logged in users, utilizing the WordPress function current_user_can(). Today we will take this one step further and create a Login form for your users, which can be placed in your sidebar, footer or anywhere else on your page.

Read more »

Frontend Admin Menu in WordPress

Tutorials, Wordpress Tutorial May 04, 2008 27 Comments

Here is a short tutorial on how to create an additional WordPress menu that only shows up if a user is logged in. I use this technique to create admin front end interface menus for the most used tasks: writing and editing posts and pages, editing the current post , a direct link to the “manage” Section of the WordPress admin Interface etc.

Read more »

Just a few words…

Article, Miscellaneous Apr 27, 2008 2 Comments

Finally I got the new design ready. A dark color scheme this time, because I really like it how dark backgrounds play together with vibrant colors. I wrote some nice wordpress plug-ins to make my life easier and switched from mootools to jQuery.

I’m more than ever fascinated by the web and while i did struggle the last time I wanted to post on a regular basis, I will now try it again and hopefully succeed ;)

Since most of my visitors seem to be from non-German speaking countries, I use this as an excuse to polish my English, since its getting worse every day. So the navigation, the blog and my tutorials section shall be written in English from this day on; rest of the site will remain German… at least for now.