Description
Simple Course Creator lets you group WordPress posts into courses using a custom taxonomy, then automatically displays a linked list of all posts in the same course within each post’s content.
Features
- Create unlimited courses from the Posts menu — just like categories and tags
- Assign posts to a course from the edit post screen or the manage posts screen
- Display the course listing above content, below, or both
- Choose between numbered list, bullet list, or no list indicator
- Sort the listing by date, title, author, last modified, comment count, or random
- Style the current post in the listing as bold, italic, or strikethrough
- Optionally collapse the listing behind a toggle link (JavaScript)
Post Meta
Show author and publish date beneath each item in the course listing. Both are enabled by default and can be toggled from the settings page.
Front Display
On the blog home, archive pages, and search results, indicate that a post belongs to a course. Enabled by default and can be toggled from the settings page.
Customization
Style the course box, post meta output, and front display indicator directly from the WordPress Customizer — no custom CSS required. For deeper customization, override the plugin’s template files in your active theme.
Create a directory called scc_templates in the root of your active theme and copy any files from the plugin’s includes/scc_templates/ directory into it. Theme files take priority over plugin files.
Screenshots

Settings page with display, post meta, and front display options 
Create and manage courses from Posts > Courses 
Assign a post to a course from the block editor sidebar 
Filter and manage posts by course from the manage posts screen 
Customize the course box, post meta, and front display styles in the Customizer 
Course listing collapsed 
Course listing expanded with author and date post meta 
Front display text on a single post, showing which course(s) it belongs to
Installation
- Upload
simple-course-creatorto the/wp-content/plugins/directory - Activate the plugin through the Plugins menu in WordPress
- Create courses under Posts > Courses
- Assign posts to a course from the edit post screen or the manage posts screen
- Optionally configure display settings under Settings > Course Settings
Upgrading from v1.x with add-on plugins
If you were using the separate SCC Customizer, SCC Front Display, or SCC Post Meta plugins, deactivate and delete them after updating to v2.0.0. All functionality is now built into this plugin. Your existing Customizer settings and display preferences carry over automatically.
FAQ
-
Can a post be assigned to more than one course?
-
Yes. If a post belongs to multiple courses, a separate course listing is displayed for each one. The position setting (above, below, both) applies to all listings.
-
Can I customize the course listing output?
-
Yes, several ways.
Hooks — Add actions in your theme’s functions.php to insert content at specific points in the output. Available hooks, in order of appearance:
scc_before_containerscc_container_topscc_below_titlescc_below_descriptionscc_before_togglescc_after_togglescc_above_listscc_before_list_item— receives$post_idscc_after_list_item— receives$post_idscc_below_listscc_container_bottomscc_after_container
The toggle link text is filterable via the
course_togglefilter (default: “full course”).The front display leading and trailing text are filterable via
course_leading_textandcourse_trailing_text.The post meta label text is filterable via
written_byandwritten_on.Template override — Create an
scc_templates/directory in your active theme and copy any files fromincludes/scc_templates/into it. Your theme versions will take priority.Customizer — Use the Simple Course Creator Design section in Appearance > Customize to adjust colors, borders, padding, and typography for all three output components.
Custom CSS — Write CSS in your theme targeting
.scc-post-list,.scc-post-meta, and.scc-front-display. Each listing has adata-course-idattribute if you need to target a specific course box ([data-course-id="5"]). When a post belongs to multiple courses, each listing also carries thescc-multiple-coursesclass and all listings are wrapped in a.scc-course-groupcontainer. -
Can I add my own styles to the Customizer output?
-
Yes. The
scc_add_to_stylesaction fires inside the generated<style>block. Hook into it to append additional CSS without opening a new style tag.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Simple Course Creator” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Simple Course Creator” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.1.0
- Added: Multiple course support — a post can now belong to more than one course; a separate listing is rendered for each
- Added:
scc_post_typesfilter — register the course taxonomy on custom post types without touching the plugin - Added:
scc-single-courseclass on course boxes that belong to a single-course post;scc-multiple-coursesclass on boxes that belong to a multi-course post - Added:
.scc-course-groupwrapper around all listings when a post belongs to more than one course - Added: Customizer “Bottom Margin” control for the course box; applies to both standalone boxes and the group wrapper
- Changed: Customizer reorganized into a panel with three sections — Course Box, Post Meta, and Front Display
- Changed: Course listing container changed from
#scc-wrapto.scc-post-list(breaking change — update any custom CSS targeting#scc-wrap) - Changed: Each listing carries a
data-course-id="{term_id}"attribute for targeting individual courses with CSS ([data-course-id="5"]) - Changed:
scc.cssrestructured as a self-documenting reference — every selector the plugin outputs is listed with plain-language comments - Fixed: Duplicate element ID when
display_positionwas set to “both” — IDs are not used on the container element - Fixed: Front display sentence grammar — “course.” vs. “courses.” now matches the actual count
- Fixed: JS toggle addClass/removeClass was targeting all toggle links on the page instead of only the clicked one
- Fixed:
is_single()replaced withis_singular()throughout so the plugin works correctly on custom post type singular views - Fixed: Toggle element changed from
<a href="#">to<button type="button">for correct semantics and accessibility; CSS reset inscc.cssneutralizes theme button styles - Fixed:
return falsein toggle JS replaced withe.preventDefault()— avoids unintendedstopPropagation()side effect - Changed: Toggle button now displays a chevron indicator (▾) that rotates when the list is open; style or remove via
.scc-toggle-post-list::after - Changed:
scc-output.phpandscc-post-listing.jsfully documented — hook reference, template variables, inline comments explaining each conditional block
2.0.0
- Consolidated: SCC Customizer, SCC Front Display, and SCC Post Meta are now built into this plugin
- Added: Post Meta settings (show/hide author and date) on the settings page
- Added: Front Display toggle on the settings page
- Added: Unified Customizer section — all settings stored in a single scc_customizer option, independent of the active theme
- Added: Upgrade routine to migrate all settings from the former add-on plugins
- Added: Auto-deactivation of retired add-on plugins (SCC Customizer, SCC Front Display, SCC Post Meta) with admin notice on first admin load after upgrade
- Changed: All plugin option keys prefixed with scc_ (course_display_settings scc_display_settings, taxonomy_{id} scc_term_{id})
- Fixed: Customizer integer settings were stored as theme_mods — now stored as options so they persist across theme switches
- Fixed: Missing nonce verification and input sanitization on term meta save
- Fixed: Unescaped output throughout the frontend template and display classes
- Fixed: Missing sanitize_callback on all Customizer color settings
- Fixed: Whitelist validation on all settings page select fields
- Fixed: Incorrect WP_Query orderby value (‘random’ ‘rand’)
- Fixed: Duplicate element ID on current post style select field
- Fixed: Logic bug in columns() causing undefined variable on first load
- Updated: Requires at least WordPress 5.0, PHP 7.4
1.0.7
- Added: Setting for ordering the post listing using the “order” parameter (ascending or descending)
- Removed: “scc_order” filter, replaced by the above setting
- Tweaked: Default border and padding on the post listing display
1.0.6
- Added: Setting for ordering the post listing using the “orderby” parameter
- Added: “scc_order” filter to control ascending or descending order
- Fixed: PHP notices
- Fixed: Database settings value inconsistencies
1.0.5
- Tweaked: Code formatting
1.0.4
- Tweaked: Improved translation strings and updated .pot file
1.0.3
- Added: Option to select the current post text style (bold, strikethrough, or italic)
- Removed: Current post default bold font weight
1.0.2
- Fixed: PHP warnings from settings sanitization
1.0.1
- Added: Disable JavaScript setting to show the course listing without a toggle
1.0.0
- First stable release
