Skip to content

Quotes Collection

Latest version: 1.5.4 (Updated on 31 August 2011)


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

Screenshots

Click on the thumbnail for the larger image.

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

Download

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

Released for free under the GPL.

Installation

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

Usage

How to add, edit and manage quotes

Quotes Collection screenshot 1 -- admin area

Quotes Collection v1.5 admin area in WP 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

Quotes Collection screenshot 2 -- widget options

Quotes Collection v1.5 widget options in WP 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’
  • ‘date_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="date_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)

Examples:

  • <?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.

Localization

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
bg_BG Bulgarian Martin Petrov
bs_BA Bosnian Vukasin Stojkov
by_BY Belarusian Илья
cs_CZ Czech Josef Ondruch
da_DK Danish Rune Clausen
de_DE German Tobias Koch
es_ES Spanish Germán L. Martínez (Gershu)
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
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
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.

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 header.php file has the code just before </head>. If you still experience the problem even after the above conditions are met, contact me.

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. :)

649 Comments

  1. Anton says:

    RC, take a look at http://srinig.com/wordpress/plugins/quotes-collection/comment-page-43/#comment-21752

    Srini, after testing your plugin I have some questons.
    It always includes javascript file link to WP-generated HTML header — even when i have only one one widget with AJAX disabled. It’s waste of bandwidth. Could it be disabled?

    Also, could your default CSS template be disabled? I now, i could delete it from plugin folder or edit it there, but I think it will re-appear on next plugin upgrade.

    • Srini says:

      Anton, thanks for the suggestions. I’ll look for ways to not include the javascript file when it’s not needed. Also, I think there should be an easier and better way to customize CSS than editing a CSS file, will look into that too. Thanks.

  2. Casemon says:

    Posted some praise and a few questions on the WP site:

    http://wordpress.org/support/topic/338739?replies=1#post-1304636

    Any ideas?

    Thanks for this cool plugin!

  3. Pablo says:

    First I’d like to say that your plugin is excellent!

    I was wondering if you could help with an intermittent error that I am experiencing on a site that I am developing. I implemented a javascript timer that calls quotescollection_refresh() every 8 seconds. It seems that if you try to navigate from the page (or even just refresh) while the function quotescollection_refresh() is executing, you get an alert pop up with the error message: “error: 0 undefined”.

    Any idea why this happens and how to prevent it? By the way, I visited a site that a previous person put in a comment on this page (http://web61509.aiso.net) and that site seems to have the same error when I click on next quote.

    Your help would be greatly appreciated!

    • Srini says:

      It’s probably because the ajax request is aborted half way when you try to navigate away from the page, and the plugin doesn’t handle this situation gracefully. This has nothing to do with your timer as this happens with any site. You can check right here on the sidebar towards the bottom, click ‘Next quote’ and hit F5 and the error pops up. Thanks for notifying me about this, I’ll fix this as soon as possible.

      http://web61509.aiso.net/ seems to have a different issue, but I am clueless as to what happens there.

  4. Mat says:

    Can this plugin support multiple instances? I’ve been trying to code it to do so, but am not having much luck.

    • Srini says:

      I’ve still not added support for multiple instances of the widget for different reasons. Though, you can try calling the template function quotescollection_quote() multiple times. I think there are also other quotes plugins for WP that support multiple instances of the widget you can try.

  5. Geoff says:

    Hello,

    Great plugin! I was wondering if it is possible to change the quote to be sequential when the next quote button is clicked instead of random. What I mean by this is I want to have all the quotes in the database displayed before repeats are displayed. Currently if the next quote is clicked the same quote could come up right after or two after etc. I would like to have it so it would never show the same quote until all are shown. Sorry do you follow me?

    Thanks!

  6. This plugin is great, I may use it for my blog, I enjoy quotes and I posted them on my blog on a regular basis.

    Here is one of my favorite quotes by Winston Churchill

    “The greatest lesson in life is to know that even fools are right sometimes.”

  7. Will says:

    Thanks for the excellent plugin. For some reason, it does not format hyperlinks correctly in the quote. How do I do this?

  8. Tibor says:

    Thanks for the excellent plugin!
    Only one comment: it would be nice to export quotes to xml file, and you can import it back. For example site maintenance etc…

  9. Shane says:

    Is it possible to create a page that lists all of the quotes, but groups them together by author/source? Thanks!

  10. [...] einen neuen Ansatz zu geben, druch die Texte zu stöbern. Umgesetzt habe ich das mit dem Plugin Quotes Collection, wobei einige Änderungen nötig waren. Nun müssen nicht Titelüberschriften gelesen werden, [...]