decompiled

The life and times of Jonathan Kern

WPListCal

WPListCal

Current Stable Version: 1.3.5
Current Development Version: None
Requires WP Version: 2.7
Tested up to WP Version: 3.0-alpha

Download Stable Release

Installation | Usage | FAQ | Changelog | Comments

WPListCal allows you to list upcoming events on your blog in a list or table format.  It plugs straight into the Wordpress admin pages to let you keep track of events just like posts and pages.  You can then list events on a page or post using a shortcode, show events in your sidebar with a widget, or incorporate events into your theme files using a PHP function call.

Documentation and Bugs

Looking for information on how to install and use WPListCal? Did you find a bug in the plugin? Visit the WPListCal Development Site. Please don’t comment on this page for bug reports or feature requests. I won’t accept them here.

Version Guide

WordPress 2.7 or later → Use WPListCal 1.3.5 (current stable release)
WordPress 2.5-2.6.3 → Use WPListCal 1.0.8.2
WordPress 2.0.3-2.3.3 → Use WPListCal 1.0.2

The Future

Through the comments below, I’ve gotten lots of feature requests and bug reports and I appreciate them. I’ll continue development on WPListCal whenever I have time.

On many occasions, I’ve said that version 1.1 will bring support for categories and some other interesting features. I’ve decided to push those features off to 2.0 since the switch to WordPress 2.7 is becoming more than just a sub-point release. Don’t worry though, you don’t have to wait for 1.3-1.9 before I do 2.0…I’ll probably just skip a bunch. This versioning scheme just made more sense than rev’ing the 1.0 tree over and over

Feature Requests

Here is a list of current feature requests that I’ve gotten (and that I remember). Post comments if you have more.

Contributing

Many people have tried to provide code modifications in the comments section below. Sadly, WordPress doesn’t like this much and generally garbles code in comments. If you have a patch that you’d like to submit, please either upload a zip file of it somewhere and link to it, or use pastie and I’ll try to grab it before it expires. Generally, I won’t approve comments with modifications in them since I don’t want to provide support for mod’d versions of WPListCal. That said, if your modification provides significant value and is complete, I’ll seriously consider putting it into the plugin.

Installation

  1. Upload the wplistcal folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress

Upgrade

  1. DO NOT DEACTIVATE THE PREVIOUS VERSION OF THE PLUGIN! Doing so could remove all your events.
  2. Upload the wplistcal folder to the /wp-content/plugins/ directory
  3. Deactivate and then activate the plugin in the ‘Plugins’ menu in WordPress

Usage

  1. Change the default settings on the WPListCal options page
  2. If you want to list your events on a page or post, use the [wplistcal] shortcode. Use the parameters in the example below. Leave out parameters to default to the options defined in the WPListCal settings page. (1.2 or later only)
    • Example: [wplistcal display_mode="list" event_format="%NAME%" date_format="M j, Y g:ia" max_events="-1" show_past_events="false" advance_days="-1" event_order="asc" hide_same_date="true" date2_time_format="g:ia" no_events_msg="No events!"]
  3. If you want to list your events on a page or post, insert the tag <!--wplistcal--> in the body of the page/post
  4. If you want to list your events somewhere in your theme files, insert <?php echo wplc_show_events(); ?>. You can set special parameters to overwrite the default options if you use the PHP function call. All parameters are optional, but you must preserve the ordering by passing in `null` for options that you want to use defaults for.
    • Display Mode (string): 'list' or 'table'
    • Event Format (string): The format of the list entries if Display Mode is set to 'list'. You can use the following variables: %NAME%, %LINK%, %LINKEDNAME%, %START%, %END%, %DESCRIPTION%, %AUTHOR%, and %EXPORTURL%.
    • Date Format (string): The format to display the start and end date and time. Uses the same date formatting that Wordpress uses.
    • Max. Events (int): The maximum number of events to display, -1 for unlimited.
    • Show Past Events (boolean): true to show all events, false to show only current and future events
    • Maximum Advanced Notice (int): How many days in advance to display events, -1 for unlimited.
    • Event Order (string): ‘asc’ to show the closest event first or ‘desc’ to show the furthest event first.
    • Hide Same Date (boolean): Format the end date with the format string defined in the next parameter if it is on the same day as the start date.
    • Date 2 Time Format (string): If Hide Same Date is enabled, use this format string for the end date.
    • No Events Message (string): If there are no events, show this string instead, leave blank for none.
    • Example: <?php echo wplc_show_events('list', '%LINKEDNAME%: %START% - %END%{
      %DESCRIPTION%} <a href="%EXPORTURL%">(export)</a>', 'M j, Y g:ia', -1, false, 30, 'asc', true, 'g:ia', 'Sorry, no events'); ?>

Dependent Statements (1.2 or later only)

You can make a statement dependent on the existence of a variable by wrapping it in curly brackets. By default, the statement will only print if the first variable in the statement is not empty. You cannot have nested dependent statements.

Example 1:

The statement in the curly brackets won’t print if %LOCATION% is empty

%TITLE%{ at %LOCATION%} on %START%

Example 2:

To print a literal curly bracket, escape it with ‘^’

%NAME%{ at %LOCATION} ^{new^}

Example 3:

To skip a variable when determining the dependent variable, escape its ‘%’ characters with ‘^’. This method also works to print a literal ‘%’ inside a dependent statement. In this example, the statement in the curly brackets will print if %LOCATION% is not empty. Note that %AUTHOR% will be properly substituted even though it is escaped.

%NAME%{ hosted by ^%AUTHOR^% at %LOCATION%}

Example 4: (invalid)

This example is invalid. You cannot have nested dependent statements.

%NAME%{ at %LOCATION%{ on %START%}}

Example 5:

However, you can have multiple dependent statements in a format.

%NAME%{ hosted by %AUTHOR%}{ at %LOCATION} on %START%

Example 6:

You can also make a statement dependent on a variable without printing the variable. To do so, wrap the variable name in square brackets “[]“. You can escape the square brackets with ‘^’. In this example, the “more” link will only print if there is a description:

%NAME%{[%DESCRIPTION%] <a href="#">more</a>}

Frequently Asked Questions

Where does WPListCal store events?
On activation time, the plugin adds a table called <prefix>_wplistcal that stores all your events.
What happens to my events when I deactivate the plugin?
On deactivation, the events table is dropped, so if you want to save your event data, back up the table before deactivating the plugin.
As of version 1.0.6, deactivation does nothing to your settings and events.
Why is WPListCal different from other Wordpress calendar plugins?
WPListCal is specialized to provide clean list or table based output for you to style or reparse any way you’d like. Other calendar plugins force you to use a gregorian calendar view which may be inappropriate for many applications.
Why do some of my events show N/A for author and create date?
Events created before upgrading to version 1.1 did not have those values set, therefore WPListCal marks them as N/A.
I am unable to make events that start or end past January 19, 2038 at 3:14:08am
This is a known bug in PHP (id# 44209) and was fixed in version 5.2.6. The specific issue was that strtotime() did not support 64-bit timestamps.
Does WPListCal use any 3rd party libraries?
Yes, WPListCal is packaged with iCalcreator which is released under the GNU LGPL
My event times are all wrong after upgrading to WordPress 2.9.
Go to WordPress General settings and reset your timezone to a city rather than a manual UTC offset.
I love WPListCal, but I’d like it to do _______.
Great, I’m glad to hear feature requests. Just post a comment below.
I love WPListCal and I’d like to buy you a beer to thank you.
Awesome, thanks. Just click the big orange Donate button above

Changelog

1.3.5

1.3.4

1.3.3

1.3.2

1.3.1

1.3

1.2.2

1.2.1

1.2

1.1.1

1.1

1.0.8.2

1.0.8.1

1.0.8

1.0.7

1.0.6

1.0.5

1.0.4

1.0.3

1.0.2

1.0.1

1.0

  1. Marcis G. says:

    Hello!

    I have made translation of Your plugin into Belorussian. Please chech Your email & answer to me.

  2. maxx says:

    Feature Request

    Please split START/END (date and time) into STARTDATE/STARTTIME and ENDDATE/ENDTIME

    For many events Endtime is not defined / unusual
    but now I can’t surpress displaying Endtime for events with more than one day.

    maxx

  3. Rob Cubbon says:

    Hello, I am trying to get the plugin to create a calendar like list here: http://ieltsvancouver.com/dates/index.cfm

    As you can see each event needs a couple of extra fields in them. Is this possible?

  4. Rainer says:

    Hi Jonathan,
    thanks for great work!

    Is there a chance to filter events when display in posts or pages?

    Thanks again and have a nice day,
    Rainer.

  5. alex says:

    @paul, sorry to bother you but i am not able to get the media upload to work at all??

    Is this a bug? I am using WP2.9.2

  6. Gary says:

    Dear Jonathan,

    Thank you for your work on WPListCal. Might you be able to direct me as to how to change the way the text displays in the widget. I would like the event title, place, date and time to be a green color font to match my theme instead of black text.

    I have searched the files but am quite an amatuer at understanding code. I assume that the change is in the plug-in code not the theme code is that right?

    Thank you Jonathan,

    Gary

  7. shannon says:

    I’ve been using wplistcal very happily for months but was shocked to learn today that it doesn’t show up in Internet Explorer! Is there a fix for this? Am I doing something wrong? Please help!

  8. nik says:

    Is there a way to make the textfield compatible with qtranslate? I’d really appreciate the help!

    The explanation should be this but I can’t make sense of it…
    http://www.qianqin.de/qtranslate/forum/viewtopic.php?f=3&t=294

  9. nik says:

    Ok I think I fixed it by changing the fieldset id but I’m still having a problem with media upload.. The thick box doesn’t load right (it opens the uploader below the footer where it cannot be accessed at all)… Could there be a conflict with the queries?

  10. Paul says:

    HI Jonathan,
    Thanks for the great plug-in.
    i’m just wondering is there any way to display only past events?
    I want to have two list one is for coming events and others are the events previous events.
    let me know about it.
    thanks.

    Paul

  11. Bo says:

    Hi. Media upload is not working for me neither. I have WP 2.9.2 and latest WPListCal.
    Is there a known solution?

  12. Morten says:

    Hello and thank you for a great plugin. Don’t know how you plan to implement categories, but just having the possibility to colorcode the text would be great.

    Thanks again.

    Morten

  13. jgard says:

    Not sure how to set up a recurring event. I would like to set up an event that takes place Mon. through Saturday at 7:30 a.m.

    Any help you can provide would be much appreciated.

    Thanks.

    Jeff

  14. Fred says:

    The code for the admin and the database layout confirm the existance of the “event_allday” field, but I don’t see the input checkbox for it or any documentation regarding it. What’s up?

    • Jonathan says:

      That feature is not complete. I started on it at some point, but decided to leave it off so I could get a release out with a bunch of other features quicker. I’ll probably spend some more time on it again soon.

  15. jeff says:

    Media Upload not working – when I click on one of the media icons just above the editing section, it appears to try and bring up the “upload” dialog, but it placed the upload dialog on the same page, below the event section at the bottom of the page. This would be okay, except that I can only see the right 1/3 of the dialog – i cannot see the BROWSE or UPLOAD buttons at on.

    I’m assuming this maybe a CSS issue or something. The Add Media is not available to me. I’m on WP 3.0.

  16. Fab says:

    Hey great work!

    A good add for your plugin could be, to choose which event is showing on the homepage and to create specific category.

    A version for 3.0.1 gonna come ?

    Thanks for your work.

  17. Johnny says:

    will this plugin be fixed for 3.0.1 ?

    one bug i found for 3.0.1 is that I cannot add an image to the event.

  18. Hi Jonathan,

    I have made some major refactories and code cleanups and did some fixes for Wordpress 3.0.1.

    The code is not complete yet but i published it on a repository on Github. I’ve mirrored your SVN repository there and created a separeted branch to track my changes. Feel free to use it as you wish. I glad it can help you with your next version.

Have your say



XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

If you want literal < and/or >, use &lt; and &gt; instead.