Quotes Collection

Latest version: 1.5.7 (Updated on 8 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

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’
  • ‘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)

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

649 Comments

  1. Hi Srini,

    Thanks for a great plugin. I have one issue though.

    On any given page load, only two of the quotes will display (i.e. when you press ‘Next quote’ it will show a different one, if you press ‘Next quote’ it will go to the first one and so on).

    How do I fix this?

  2. Quotes stopped working after upgrade to 3.0 and 3.0.1.

    Took me a while to get to it, but it was easily fixed by going to the admin plugins page, deactivating and then activating Quotes Collection. Poof – they’re back.

  3. Very cool widget… thanks!

    Installation and FAQ helped with the initial set up and I’ve got 3 place holder quotes rotating fine.

    I find though that I can’t get this (or any other widget when this is in use) to occupy the bottom right corner position of my footer… in essence the 3rd from left.

    The moment I take this widget back out… I can get other widgets to line up 3 wide… my goal is to have this in the bottom right of our site / footer… in essence the 3rd position.

    Any ideas why when I use this widget it kicks itself and / or other widgets below the 2 left widgets?

    Errin

  4. Hi, I’ve translated the latest version into simplified chinese and send them to your email. Please check it. However, I found two problems: The autorefresh dosen’t work at all; “make public” in the admin interface is not controled by the .po file, I’ve finished the .po but still found this “make pulic” in english in the admin interface.

  5. Firstly thanks for creating a nice smooth and solid plugin.
    Yes, I agree with Omar. I would like to put two instance of the plugin in one sidebar. So one instance would pull using tag=churchill and the other instance would pull using tag=lincoln as an example. Can this be done?

  6. I’d love to see a menu to filter quotes by author or source. I can manually create one using the different shortcodes, but then every time I use a new author or source I have to manually add it to the menu. I’d like to have that done automatically.

Comments are closed.