Publishing the calendar
On a Mac, open Calendar, right-click the calendar in the sidebar, choose Share Calendar, and tick Public Calendar. On an iPhone, open the Calendars list, tap the i next to the calendar, and turn on Public Calendar. Either way you get a link beginning webcal://.
Swap webcal:// for https:// and that is the URL to give WordPress. It works without anyone signing in, which is exactly what a website needs.
Only a calendar you own can be published — a calendar shared with you by somebody else cannot be, and you will need them to publish it instead.
Quirk one: the file can be large
iCloud publishes the whole calendar, including its history. A calendar somebody has been using for years can be several megabytes with thousands of past events. That is slow to fetch and mostly useless — nobody is browsing your website for a class that happened in 2019.
The practical fix is a dedicated calendar for public events rather than publishing a personal one. It keeps the feed small, keeps private appointments out of a public URL, and makes the whole thing easier to reason about.
Quirk two: timezone handling on all-day events
Apple is careful with timed events and attaches proper zones. All-day events are where it gets interesting — the format represents them as a date with no time and an end date that is the day after the last day. A reader that does not know this convention shows every all-day event as one day longer than it is.
If your published calendar has all-day entries, check them in the reader above and then check them again on the website after the first sync. It is a one-line difference in the file and a visible error on a page.
The update delay
Changes to a published iCloud calendar appear in the feed reasonably quickly, but not instantly, and Apple gives no guarantee. As with every published calendar, the right approach is to publish changes with some notice and to have a website that tells you when it last fetched successfully — so a stalled feed is visible rather than looking like a quiet fortnight.
What you cannot do
You cannot write back. A published iCloud calendar is read-only by design, so events created on the website will not appear on anyone's phone. If the phone is where the schedule is really maintained, that is the right direction anyway — one place to edit, one place that follows.