Plugin Directory

Test out the new Plugin Directory and let us know what you think.

Google Calendar Weekly Timetable

Displays Google Calendar(s) as custom styled weekly timetable/schedule in your blog. Easy to manage complex timetables from google calendar.

Please send me any suggestions (bugs/features). Use comments or contact form on plugin homepage.

Common plugin installation instructions:

Use the automatic installer from within the WordPress administration, or:

  1. Download the .zip file by clicking on the Download button on the right
  2. Unzip the file
  3. Upload the google-calendar-weekly-timetable directory to your plugins directory
  4. Go to the Plugins page from within the WordPress administration
  5. Click Activate for Google Calendar Events

After activation a new Google Calendar Weekly Timetable options menu will appear under Settings. You can now start adding feeds.


Copy XML url of public google calendar. In your GCWT wordpress settings Add feed pasting this url in Feed URL. Use WP shortcode in post/page of format [timetable id="<list_of_feeds_separated_by_comma"]. Use css/gcwt-style.css file to modify the style, use .gcwt-table{} table id.

Put events on endless repeat in google calendar. If you plan no changes - leave it like that, whenever you have plans for changes - change it from that date. If you really plan no changes, you can put start date with shortcode option start="18 april 2010" then it will always pick the same week.


  1. Create Google Calendar (or use existing one). Put some events and make them repeat forever. Go to Calendar Settings -> Share this calendar (second tab). Click on Make this calendar public. Save.
  2. Again, go to Calendar Settings -> Calendar Details (first tab). Scroll down to calendar address and click on the XML button. COPY the pop-up link.
  3. Go back to your wordpress admin panel. Go to Settings -> Google Calendar Weekly Timetable. Click on Add Feed. Name the calendar in Feed Title field and PASTE the link from previous step to Feed URL field.
  4. Change other options if you need to and choose feed color (default is yellow, by accident). Click Add Feed. Notice the Feed ID.
  5. Now go to the post/page that you want to insert the table to. Add shortcode [timetable id="1"]. Here "1" means the Feed ID that you noticed in previous step is 1.
  6. Repeat the steps to add more feeds. Then update the id="1" option in your shortcode to the list of IDs you want to add to this particular timetable, separated by commas. For example [timetable id="1,2,3"].

Controlling additional options:


  • lang="de" - this will: a) change the names of the weekdays. By default English, Russian and Lithuanian are described in file google-calendar-weekly-timetable/weekdays.txt. You can edit it from WordPress admin panel. Add language short code followed by colon, followed by name of Monday and all the other weekdays separated by spaces (follow the logic of what's already added). b) Check the title for language matching. If the title is in format "Pirmas Žingsnis; en: First Step; de:Erster Stufe" then it will search for appropriate language and only that will be displayed. Notice that you should use semicolon before the language code and colon after (;en:). Note: if the language code is not found, it will try to return the default language (by looking for separator ;??:)

  • start="previous Monday" - this specifies when is the start day to parse the 7 days (default is today, so it can be middle of week)

  • append=' H:i' - appends a string to the end of the title and inserts any date/time that you can specify according to date() php function. The timestamp used is the one with the end time of event.
  • cache=42000 - specify cache duration setting for all feeds for this table. This will override individual settings for each feed. Use this if you want the table to be updated more/less frequently.
  • refresh_one=1 - update/parse one feed at every refresh. This is a simple option for those who have too many feeds and too lazy to set different refresh times for each feed just to reduce the wait time. Note: individual feed cache settings are still valid (if some other feeds will expire, they will be refreshed together)

Options for when something doesn't work

  • rowspan=0 - will turn of the feature of events taking more cells down if start time matches that (is enabled by default)
  • time_format='H:i' - To specify time format 'H:i' is military and 'h:i' is 12-hour (see php date fuction for more options). By default it will pick settings from wordpress settings
  • start_sunday=1 - Sunday is the first day of the week. By default it will pick settings from wordpress settings. Only Sunday and Monday supported.
  • show_sunday=1 - Always show sunday, no matter if there are events or not.

STYLE CONTROL: The simpliest way to edit table style is to edit google-calendar-weekly-timetable/css/gcwt-style.css file. The table has id="timetable" which is inherited by class="gcwt-table" class assigned inside <div> tag... so you can edit existing options or add additional using .gcwt-table #timetable{<options>}.

Requires: 2.9.2 or higher
Compatible up to: 3.3.2
Last Updated: 1 year ago
Active Installs: 700+


3.7 out of 5 stars


Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,1,1