Quotes Collection

Latest version: 1.5.9 (Updated on 16 December 2012 (changelog))

Quotes Collection plugin for WordPress helps you collect, manage and display your favourite quotations in your WordPress blog. A random quote can be displayed in the sidebar (or any other widget area) using the ‘Random Quote’ sidebar widget. The widget comes with a cool Ajax refresh feature — you will be able to get another random quote on the same space without refreshing the web page. All quotes or a set of quotes can be displayed in a WordPress page by placing a shortcode [quotcoll] in the desired page. Also available, the template function quotescollection_quote() that can be directly coded into a template file, and a random quote will appear in the corresponding location in the output.

The plugin is similar, and uses ideas from (though not based on) the old wp quotes plugin by Dustin Barnes.

Table of contents


Click on the thumbnail for the larger image.

You can find a live demo of the ‘Random Quote’ widget at the sidebar here!


The latest version of the plugin can be downloaded from the WordPress plugin repository. (changelog)

Released for free under the GPL.


  • Unzip the downloaded compressed file, and upload quotes-collection directory to the /wp-content/plugins/ directory. Alternatively, go to the ‘Add New’ sub-menu under the ‘Plugins’ menu in your WordPress admin area, search for ‘quotes collection’ and install the ‘Quotes Collection’ plugin.
  • Activate the ‘Quotes Collection’ plugin through the ‘Plugins’ menu in WordPress.


How to add, edit and manage quotes

 Admin interface (in WordPress 3.2)

Admin interface (in WordPress 3.2)

The ‘Quotes’ menu can be located in the WP admin area navigation panel under ‘Posts’, ‘Pages’, ‘Comments’ etc. This is the place where quotes will be added, edited and managed.

To add a quote, click on the ‘Add new quote’. You will be presented with a form to input the quote and its details. The form has five fields

  • The quote — the actual quote
  • Author — the person who uttered the quote. This field is optional, it can be left blank.
  • Source — a book or a website or whatever from which you found the quote. Optional.
  • Tags — one or more tags can be input for a quote. Tags can be used to filter the widget or shortcode outputs, and can be used in a variety of ways. This is optional and can be left blank. Two or more tags should be comma separated.
  • Public — By default, this is checked. Uncheck this if you want to keep the quote private, ie., a private quote won’t be showed in widget or shortcode outputs.

The ‘Random Quote’ widget

'Random Quote' widget options (WordPress 3.2)

‘Random Quote’ widget options (WordPress 3.2)

Once the plugin is installed and activated, the ‘Random Quote’ widget can be found in ‘Appearance’ -> ‘Widgets’ menu in the WP admin area. Just drag the widget into a widget area and then choose the widget options.

Following is the list of options in the widget control panel:

  • Widget title
  • Option to show/hide quote author
  • Option to show/hide quote source
  • Turn on/off the ajax refresh feature
  • Choose random or sequential order for refresh
  • Option to refresh the quote automatically
  • Show only quotes with certain tags
  • Specify a character limit and filter out bigger quotes

The [quotcoll] shortcode

The shortcode [quotcoll] can be placed in a WordPress page to display all the quotes in the page.

Different attributes can be specified to customize the quotes to be displayed, number of quotes, the order, paging, etc. Here’s the list of attributes:

id (integer)

Display a particular quote with the specified id. This overrides all other attributes. That is, if id attribute is specified, any other attribute specified is ignored.

Example: [quotcoll id=3] displays a single quote, the id of which is 3. If there is no quote with the id 3, nothing is displayed.

author (string)

To display all quotes by a specific author.

Example: [quotcoll author="Somebody"] displays all quotes authored by ‘Somebody’.

source (string)

To display all quotes from a specific source.

Example: [quotcoll source="Something"] displays all quotes from the source ‘Something’.

tags (string, comma separated)

To display only quotes with one or more of the tags specified.

Example 1: [quotcoll tags="tag1"] displays all quotes tagged ‘tag1′.

Example 2 [quotcoll tags="tag1, tag2, tag3"] displays quotes tagged ‘tag1′ or ‘tag2′ or ‘tag3′, one or more or all of these.

Example 3: [quotcoll author="Somebody" tags="tag1"] displays quotes authored by ‘Somebody’ AND tagged ‘tag1′.

orderby (string)

When multiple quotes are displayed, the quotes or ordered based on this value. The value can be either of these:

  • ‘quote_id’ (default)
  • ‘author’
  • ‘source’
  • ‘time_added’
  • ‘random’

order (string)

Ascending or descending order when multiple quotes are displayed. The value can be either ‘ASC’ (default) or ‘DESC’.

Example: [quotcoll orderby="time_added" order="DESC"] will display all the quotes in the order of date added, latest first and the earliest last.

paging (boolean)

To introduce paging when a large number of quotes are to be displayed. The values can be either false (default) or true. This can be used in conjunction with ‘limit_per_page’ (see below).

Example: [quotcoll paging=true limit_per_page=30] will introduce paging with maximum of 30 quotes per page.

Note: if orderby="random" is used, paging is ignored.

limit_per_page (integer)

The maximum number of quotes to be displayed in a page when paging is introduced, as described above. The defualt value is 10.

Example: [quotcoll paging=true] will introduce paging with maximum of 10 quotes per page.

limit (integer)

The maximum number of quotes to be displayed in a single page ie., when paging is ‘false’.

Example: this can be used to display just a random quote. [quotcoll orderby="random" limit=1]

The quotescollection_quote() template function

The template function quotescollection_quote() can be placed directly in a template file and a random quote will be displayed in the output in the corresponding location.

Basic usage: <?php quotescollection_quote('arguments'); ?>

Below is the full list of parameters (arguments) that can be passed on to this function:

show_author (boolean)

To show/hide the author name

  • 1 – shows the author name (default)
  • 0 – hides the author name

show_source (boolean)

To show/hide the source field

  • 1 – shows the source
  • 0 – hides the source (default)

ajax_refresh (boolean)

To show/hide the ‘Next quote’ refresh link

  • 1 – shows the refresh link (default)
  • 0 – hides the hides the refresh link

random (boolean)

Refresh the quote in random or sequential order

  • 1 – random refresh (default)
  • 0 – sequential, with the latest quote first

auto_refresh (integer)

To refresh the quote automatically. Time interval is the number assigned to this parameter, in seconds. For example, <?php quotescollection_quote('auto_refresh=5'); ?> will refresh the quote every 5 seconds. Set the value of auto_refresh to 0 to disable this functionality, which is default.

tags (string)

Comma separated list of tags. Only quotes with one or more of these tags will be shown.

char_limit (integer)

Quotes with number of characters more than this value will be filtered out. This is useful if you don’t want to display long quotes using this function. The default value is 500.

echo (boolean)

Toggles the display of the random quote or return the quote as an HTML text string to be used in PHP. The default value is 1 (display the quote). Valid values:

  • 1 (true) – default
  • 0 (false)


  • <?php quotescollection_quote(); ?>
    • Uses the default values for the parameters. Shows author, hides source, shows the ‘Next quote’ link, no tags filtering, no character limit, displays the quote.
  • <?php quotescollection_quote('show_author=0&show_source=1&tags=fun,fav'); ?>
    • Hides author, shows source, only quotes tagged with ‘fun’ or ‘fav’ or both are shown. ‘Next quote’ link is shown (default) and no character limit (default).
  • <?php quotescollection_quote('ajax_refresh=0&char_limit=300'); ?>
    • The ‘Next quote’ link is not shown, quotes with number of characters greater that 300 are left out.


Versions 1.1 and greater support localization. As of the latest version, localization is available in the following languages.

Code Language Translator
ar Arabic Ahmed Alharfi
be_BY Belarusian Alexander Ovsov
bg_BG Bulgarian Martin Petrov
bs_BA Bosnian Vukasin Stojkov
cs_CZ Czech Josef Ondruch
da_DK Danish Rune Clausen
de_DE German Tobias Koch
el Greek Spiros Doikas
es_ES Spanish Germán L. Martínez (Gershu)
et_EE Estonian Iflexion
fa_IR Persian Ehsan SH
fi_FI Finnish Jussi Ruokomäki
fr_FR French psykotik, Laurent Naudier (1.4.3)
he_IL Hebrew Tailor Vijay
hi_IN Hindi Ashish J.
hr_HR Croatian 1984da
hu_HU Hungarian KOOS, Tamas
id_ID Bahasa Indonesia Kelayang
it_IT Italian Gianni Diurno (aka gidibao)
ja Japanese Urepko Asaba
lt_LT Lithuanian Lulilo
lv_LV Latvian Maris Svirksts
mk_MK Macedonian Diana
nb_NO Norwegian (Bokmål) Christian K. Nordtømme
nl_NL Dutch Kristof Vercruyssen
pl_PL Polish Marcin Gucia
pt_BR Brazilian Portugese Tzor More
pt_PT Portugese Djamilo Jacinto
ro_RO Romanian Alexander Ovsov
ru_RU Russian Andrew Malarchuk
sk_SK Slovak Stefan Stieranka
sr_RS Serbian Vukasin Stojkov
sv_SE Swedish Julian Kommunikation
ta_IN Tamil Srini
tr_TR Turkish Gürkan Gür
uk_UA Ukrainian Stas
zh_CN Simplified Chinese 天毅许

If you can translate the plugin in your language, please do, and please send me the localized file so that I can add to the next version of the plugin. The localization template file (quotes-collection.pot) can be found in the ‘languages’ folder of the plugin. If you want to translate the plugin in your language, but are not sure how to go about doing it, contact me, I’ll help you out.

Frequently Asked Questions

How to get rid of the quotation marks that surround the random quote?
Open the quotes-collection.css file that comes along with the plugin, scroll down and look towards the bottom.

How to change the random quote text color?
Styling such as text color, font size, background color, etc., of the random quote can be customized by editing the quotes-collection.css file. Please also note that any updates to the plugin will overwrite your customized css file, so it’s advisable to backup your customization before updating the plugin.

How to hide the ‘Next quote »’ link?
You can do this by turning off the ‘Ajax Refresh’ feature in widget options.

How to change the link text from ‘Next quote »’ to something else?
Change the value of the variable $quotescollection_next_quote on line 34 of the quotes-collection.php file.

The ‘Next quote »’ link is not working. Why?
Make sure your theme’s footer.php file has the code<?php wp_footer(); ?> just before </body>. If you still experience the problem even after the above conditions are met, contact me.

I have added a number of quotes, but some of the quotes never get displayed in the widget. Why?
If you want all of the quotes to display, make sure all all the quotes fall within the ‘Character limit’. There is an option named ‘Character limit’ for the widget (bottom most, under the ‘advanced options’) with a default value of ‘500’. The value can be changed, or simply removed and the field left blank so that none of the quotes get filtered out based on length.

Why multiple instances of the widget is not available?
There can be conflicts and undesirable behaviour when more than one instance of the random quote function call is used in the same page, especially with the ajax refresh turned on for all the instances. It is for this reason the multiple instances of the widget is currently unavailable. For the same reason, it is not advised to use the `quotescollection_quote()` function call more than once in the same page. And for the same reason, the ajax refresh option is not made available for the shortcodes. These limitations shall be overcome in a future version of the plugin.

How to change the admin access level setting for the quotes collection admin page?
Change the value of the variable $quotescollection_admin_userlevel on line 44 of the quotes-collection.php file. Refer WordPress documentation for more information about user roles and capabilities.

I have a long list of quotes, and [quotcoll] puts all of the quotes in a single page. Is there a way to introduce pagination and break the long list of quotes into different pages?
Yes, pagination is supporterd in versions 1.5 and greater. paging and limit_per_page attributes can be used to achieve this. For example, [quotcoll paging=true limit_per_page=30] will introduce pagination with a maximum of 30 quotes per page.

How about a feature to backup/export/import the bulk of quotes in CSV/text format?
Such a feature will be available in a future version of the plugin, though no promises can be made as to when it will be available!

Feedback & Support

Bug reports, feature requests, suggestions, appreciation, criticism, all feedback welcome.

Please read the FAQ, all comments here and the forum posts at WP support forum before asking a question.

I have disabled comments here mainly because I find that ‘comments’ is not the best way to clear doubts and provide support, most often people ask the same question again and again without reading the previous comments. Please post your question or support request at the WordPress support forum.

Thanks for reading, thanks for using the plugin. Have fun. :)


  1. Great Plugin! I’m wondering if there is a way to add a cufon font to the plugin. I am using the all-in-one cufon plugin for wordpress and if I target #footer or .widgets or .quotescollection_randomquote q, etc the cufon font will affect the widget but only the first occurrence (in this case the first quote). As soon as the quotes begin to rotate the cufon is lost. Any ideas?

    Thanks again for a great plugin!

  2. Thanks for the plugin. However when I click “next quote” or have the auto ajax refresh option I get the following

    Fatal error: Cannot redeclare class wpdb in /home/shaunedw/public_html/wp-includes/wp-db.php on line 53

    Any ideas on how to fix?
    I’m using WP 3.0.1

  3. The “Next Quote” link stopped working. It could be since I updated WordPress from 3.0 to 3.0.1.

    When you click the “Next Quote” link it shows a “Loading” message but the next quote never displays. It just gets hung up on “Loading”.

    WP 3.0.1
    Quotes Collection Version 1.4.2

    I am displaying the quotes in the Quotes Collection sidebar widget. The “Advanced Options” link within the widget also is not working. Nothing happens when uou click it.

    I’ve tried deleting the plugin and reinstalling it. The next quote does show if I disable Ajax in the widget and refresh the page.

  4. I has tried to use more than one widget but it doesn’t work , it seems there is an error ,
    It looks is the same error as omar reported before , i has recently read your FAQ but i doesn’t looks i can fix by myself .

    Update .

    The error was my wordpress version , Now works really fine.

  5. Is it just me or are you guys getting a script error in Internet Explorer 8? The AJAX refresh still works but I see an ugly exclamation mark at the bottom of my IE screen.

    Syntax error localhost:8107, line 224655045 character 1

    Webpage error details

    User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 3.0.30729)
    Timestamp: Wed, 3 Nov 2010 14:48:20 UTC

    Message: Syntax error
    Line: 224655045
    Char: 1
    Code: 0
    URI: http://localhost:8107/


    I can’t seem to find the source of this error. I installed this plugin on a client’s web site and it has the same error but it still runs okay.

Comments are closed.