You can make all of your classes in a specific time period show on the Public Portal as Read Only using a script. Under View Reports | Master Reports, browse the Custom Queries section. You want one that is usually at the top of the list called "Update Class Status for All classes in Time Period". If you don't see it in Custom Queries, scroll to the bottom and browse and subscribe.
Select a Time Period
In ID1 field: enter a
2 = make every class Read Only
1 = Active
Great tool to show your items on the Public Portal, but not allow anyone to register for them until your chosen time.
Note: The Time Period start date in the page: "Configure>Online Registration" must be on (start date = today or earlier) for the "Read Only" to work. The only drawback to using the Read Only display is that you cannot rely on the automatic display to occur at your desired date/time (because it is already configured to display).
So, to be clear, To utilize Read Only display, you must have the time period already configured to display classes, and then manually switch the class status from "Read Only" to "Active" at your chosen time, using this report tool.
This tool will respect the Class Details = Show Online checkbox. If the "Show Online" checkbox isn't checked, this script will not show it online.