When the grid wins

When the shape of the month is the information. A venue with something on most nights, a studio timetable, a season with a rhythm to it — the grid shows the pattern at a glance and a list does not.

It also wins when people are planning around dates: “are you open the weekend of the 14th” is a grid question.

When the list wins

When there are few events. A grid with three coloured squares and twenty-eight empty ones communicates “this place is mostly shut”, which is not what you meant. Below roughly two events a week, use a list.

A list also wins when the events are the point rather than the dates — a conference programme, a course, a run of one show.

The phone problem

Seven columns do not fit on a phone. Every solution is a compromise, and there are three worth knowing.

Switch to a list below a breakpoint. Usually best. The reader gets something legible, and they were probably going to scroll anyway.

Scroll the grid horizontally. Keeps the shape, but a horizontally scrolling element inside a vertically scrolling page is awkward to operate with a thumb.

Shrink the cells. Fits, and then the event titles are unreadable and reduced to dots.

Look at whatever plugin you are considering on an actual phone before deciding. This is the single biggest quality difference between calendar plugins and it is invisible on a desktop.

Navigation, and whether Google sees it

Month navigation is often built with JavaScript that fetches a new month and swaps it in without changing the URL. It feels fast, and it means every month except the current one is invisible to search engines and impossible to link to.

If you want somebody to be able to send “here is our December” to a friend, next-month must be a real link to a real URL. It can still be enhanced with JavaScript afterwards, but the link has to exist underneath.

The shortcode itself

For this plugin, the month grid is [meridian_events view="month"], and it takes the same days and category attributes as the list. Check any shortcode against the documentation for the version you have installed — attribute names differ between plugins and change between versions, and a mistyped attribute is silently ignored rather than flagged, so you get a grid that looks nearly right and is not filtered at all.