# CourseStorm for WordPress plugin
Welcome to CourseStorm for WordPress, the official WordPress plugin for integrating your CourseStorm catalog into your website.

## Setup

To begin, download the plugin, upload it to your site, and activate it.

On activation, the plugin will ask you to enter the URL of your CourseStorm catalog. The URL of your CourseStorm catalog is in the format of https://YOURSITE.coursestorm.com, where YOURSITE is the name of your unique catalog site.

Enter the URL of your catalog site and click 'Save Changes'. The plugin will now import your catalog into your website.

Note, the plugin will also create a page called "Classes" in your list of pages. Please do not delete or alter this page, as it forms the basis for your CourseStorm classes appearing on your site.

## Customizing your site menu

When the plugin is activated and it has finished imported your classes, you will likely want to add a new link to your site's menu(s) to direct visitors to your list of classes.

Most WordPress website menus are managed by going to Appearance -> Menus. There, select the "Classes" page from your list of pages, click "Add to Menu", and then drag/drop to re-order the menu in the order of your choice. Once you've added the link and arranged your menu in the way you want, click "Save Menu". You can repeat this by selecting other menu(s) you may have on your site and adding the link to those as well. 

## Using widgets

CourseStorm for WordPress also includes two widgets that you can use on your site:

### Featured Classes widget

CourseStorm for WordPress includes a widget to display your featured classes. This widget displays a list of your featured class titles. When a visitor clicks on any of the class titles, they will see the class detail page.

To use it, go to Appearance -> Widgets and find the "Featured Classes" widget from the list of widgets. Drag and drop it into the sidebar(s) of your choice. 

### Class Categories widget

CourseStorm for WordPress includes a widget to display a list of your class categories. This widget displays a list of your  class categories in a hierarchical, drop-down list. When a visitor clicks on any of the class categories, they will see a list of all classes in that particular category.

To use it, go to Appearance -> Widgets and find the "Class Categories" widget from the list of widgets. Drag and drop it into the sidebar(s) of your choice. 

## Customizing the design of the plugin on your site

While the CourseStorm for WordPress plugin is designed to integrate nicely with your site immediately with no customization required, you may also choose to customize the plugin to meet your unique needs.

The plugin is designed to integrate into the existing styles of your website's theme. However, you may want to modify or add to the existing styles and / or layout(s) provided by the plugin. To do so, we recommend you do _not_ directly edit the plugin files, as that may cause a conflict with potential future versions of the plugin.

Intead, do one of the following:

- Override the CSS provided by the plugin by adding custom CSS to your site's theme (or use a child theme if you are using a parent theme). There are many sources and tutorials online that describe how to add custom CSS to your site's theme or child theme.
- Manually override the templates provided by the plugin (see below)
- Request your site's theme be added to the plugin's configuration (see below)
- Request a new feature for the plugin (see below)

### Request your site's theme be added into the plugin's configuration

Because the CourseStorm for WordPress plugin integrates your catalog deeply into your site -- including an overview of featured classes and categories; a list of classes with a category; and the class display itself -- it creates several of its own custom templates for display on your site.

While the templates are designed to integrate into your site's theme as closely as possible, the plugin's template files may be inadvertently conflicting with your site's chosen theme.

If that is the case, *contact CourseStorm support, and we'll be glad to update the plugin to incorporate your site's theme configuration* This will not only make the plugin and your site work better, it will also help other organizations that also use your site's theme.

To request your site's theme be added to the plugin configuration, simply contact CourseStorm at 'support@coursestorm.com' with your request and be sure to include a link to your website.

### Manually override the template(s) in the plugin

Because the CourseStorm for WordPress plugin integrates your catalog deeply into your site -- including an overview of featured classes and categories; a list of classes with a category; and the class display itself -- it creates several of its own custom templates for display on your site.

While the templates are designed to integrate into your site's theme as closely as possible, if you want to make large scale changes to the design and/or layout of the plugin's template files, you may want to modify the design or layour of these templates manually. The best approach is _not_ to edit the plugin files directly; rather you should *manually override* these templates in the following way:

1. Copy a particular template or templates to your theme (such as `/plugins/csforwp/templates/single.php`) into a matching diretory structure: `/yourtheme/csforwp/templates/single.php` where `yourtheme` is the path to your site's active theme.
2. Repeat step 1 for all template files you wish to manually override.
2. Replace the `do_action( 'coursestorm_before_main_content' );` and ` <?php do_action( 'coursestorm_after_main_content', true ); // true = display sidebar ?>` from the copied file with the markup from your own theme
3. Edit the manually overriden template file(s) 

## Requesting help, reporting issues, or requesting features

To request help, report issues, or request new features to be added to the plugin, please contact 'support@coursestorm.com' with a description of your request, and be sure to include the name of your organization and a link to your site (if applicable).

## Changelog

- Version 1.0: Initial release.

## Roadmap

Potential future updates:

- Adding support for classes with multiple sessions
- Adding additional default support for popular WordPress themes
- Adding "Upcoming Classes" widget
